转自:http://code.google.com/p/flex-security/
flex UI组件权限控制框架
1) 下载并添加flex_security.swf在你的flex libs中
2) 启动权限控制
//启动权限控制,permissions为用户拥有的权限字符串列表 SecurityControler.start(permissions,'visible');
3) 通过增加styleName=security(permission,controlBy)为你的按钮增加权限控制
<mx:Button label="new user" styleName="security(user_new)" /> <mx:Button label="update user" styleName="security(user_update)"/>
如上,如果用户拥有这两个权限(permissions):user_new,user_update,则可以见到这两个按钮,然后执行相关操作
if(SecurityControler.isPermitted('blog_delete')) { //execute delete blog action }
styleName: security(permission,controlBy)
controlBy
按什么方式来控制权限。
SecurityControler类,包含全部的主要权限控制操作:
/** * 启动权限控制 * permissions: 字符串列表,为拥有的权限 * default_control_by: 按那种方式控制权限,可选值: visible,enabled,remove,includeInLayout */ public static function start(permissions:ArrayCollection = null,default_control_by : String = "visible"):void //停止权限控制 public static function stop():void // 移除所有权限 public static function removeAllPerms():void /** * 更新拥有的权限 * perms: 字符串列表,用户拥有的权限 */ public static function updatePerms(perms:ArrayCollection):void //增加一条权限 public static function addPerm(permName:String):void // 减少一条权限 public static function removePerm(permName:String):void // 判断是否拥有权限 //示例: if(SecurityControler.isPermitted('blog_delete')) { do some thing} public static function isPermitted(perm:String):boolean