Flex flex企業級UI權限控制
網上搜索了一番,用于控制flex UI組件的權限的框架只有chimp相近一些.
但是不喜歡他的基于flex annotation的權限控制方式.遂決定自己寫一套flex權限控制框架。
如果你熟悉作者的另外一套javascript 表單驗證框架rapid-validation,將會對下面的使用方式有似曾相識的感覺。
一.快速開始
1) 下載并添加flex_security.swf在你的flex libs中
2) 啟動權限控制


3) 通過增加styleName=security(permission,controlBy)為你的按鈕增加權限控制


如上,如果用戶擁有這兩個權限(permissions):user_new,user_update,則可以見到這兩個按鈕,然后執行相關操作
注意:如果你不喜歡styleName添加權限保護,還有其它方式:如實現接口,編程方式增加,請查看后面的demo
二.ActionScript代碼的權限控制




三.在線demo
- helloworld_by_styleName 示例使用styleName添加權限保護
- helloworld_by_interface 示例使用實現接口來添加權限保護
- helloworld_by_annotation 示例使用annotation:[Projected]來添加權限保護
- helloworld_by_manual 示例使用手工的方式添加權限保護
- http://flex-security.googlecode.com/svn/trunk/flex_security_demo/src/ demo源代碼地址
四.詳細描述
1) styleName: security(permission,controlBy)
- permission: 權限標識,用戶擁有該權限,才可以執行相關操作。可選參數,如果為空,則會取該comp.id作為permission
- controlBy: 按什么方式來控制權限,有(visible,enabled,includeInLayout,remove)。可選參數,如果為空,則取SecurityControler?.start(perms,defaultControlBy)中的defaultControlBy的值,默認是visible
2) controlBy: 按什么方式來控制權限
- visible : 可見性,有權限為true,沒有權限為false
- enabled : 激活狀態,有權限為true,沒有權限為false
- includeInLayout : 有權限為true,沒有權限為false
- remove : 使用removeChild()將對象從parent中remove掉,有權限不remove,沒有權限則remove
- all : 包含前面所講的:visible,enabled,includeInLayout,但不包含remove
3) SecurityControler類,包含全部的主要權限控制操作


























