<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    badqiu

    XPer
    隨筆 - 46, 文章 - 3, 評論 - 195, 引用 - 0
    數(shù)據(jù)加載中……

    Flex flex企業(yè)級UI權(quán)限控制

    網(wǎng)上搜索了一番,用于控制flex UI組件的權(quán)限的框架只有chimp相近一些.

    但是不喜歡他的基于flex annotation的權(quán)限控制方式.遂決定自己寫一套flex權(quán)限控制框架。

    如果你熟悉作者的另外一套javascript 表單驗證框架rapid-validation,將會對下面的使用方式有似曾相識的感覺。

    一.快速開始

    1) 下載并添加flex_security.swf在你的flex libs中

    2) 啟動權(quán)限控制

    //啟動權(quán)限控制,permissions為用戶擁有的權(quán)限字符串列表
    SecurityControler.start(permissions,'visible');

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

    <mx:Button label="new user" styleName="security(user_new)" />
    <mx:Button label="update user" styleName="security(user_update)"/>

    如上,如果用戶擁有這兩個權(quán)限(permissions):user_new,user_update,則可以見到這兩個按鈕,然后執(zhí)行相關(guān)操作

    注意:如果你不喜歡styleName添加權(quán)限保護(hù),還有其它方式:如實現(xiàn)接口,編程方式增加,請查看后面的demo

     

    二.ActionScript代碼的權(quán)限控制

     

    if(SecurityControler.isPermitted('blog_delete')) 
    {
        //execute delete blog action
    }

     

    三.在線demo

     

     

    四.詳細(xì)描述

    1) styleName: security(permission,controlBy)

    • permission: 權(quán)限標(biāo)識,用戶擁有該權(quán)限,才可以執(zhí)行相關(guān)操作??蛇x參數(shù),如果為空,則會取該comp.id作為permission
    • controlBy: 按什么方式來控制權(quán)限,有(visible,enabled,includeInLayout,remove)??蛇x參數(shù),如果為空,則取SecurityControler?.start(perms,defaultControlBy)中的defaultControlBy的值,默認(rèn)是visible

    2) controlBy: 按什么方式來控制權(quán)限

    • visible : 可見性,有權(quán)限為true,沒有權(quán)限為false
    • enabled : 激活狀態(tài),有權(quán)限為true,沒有權(quán)限為false
    • includeInLayout : 有權(quán)限為true,沒有權(quán)限為false
    • remove : 使用removeChild()將對象從parent中remove掉,有權(quán)限不remove,沒有權(quán)限則remove
    • all : 包含前面所講的:visible,enabled,includeInLayout,但不包含remove

    3) SecurityControler類,包含全部的主要權(quán)限控制操作

    /**
    * 啟動權(quán)限控制
    * permissions: 字符串列表,為擁有的權(quán)限
    * default_control_by: 按那種方式控制權(quán)限,可選值: visible,enabled,remove,includeInLayout
    */
    public static function start(permissions:ArrayCollection = null,default_control_by : String = "visible"):void 

    //停止權(quán)限控制 
    public static function stop():void 

    // 移除所有權(quán)限
    public static function removeAllPerms():void
    /**
    * 更新?lián)碛械臋?quán)限
    * perms: 字符串列表,用戶擁有的權(quán)限
    */ 
    public static function updatePerms(perms:ArrayCollection):void 

    //增加一條權(quán)限 
    public static function addPerm(permName:String):void

    // 減少一條權(quán)限
    public static function removePerm(permName:String):void

    // 判斷是否擁有權(quán)限
    //示例: if(SecurityControler.isPermitted('blog_delete')) { do some thing} 
    public static function isPermitted(perm:String):boolean

     

    項目地址: http://code.google.com/p/flex-security/

    posted on 2010-02-25 17:32 badqiu 閱讀(3144) 評論(2)  編輯  收藏

    評論

    # re: Flex flex企業(yè)級UI權(quán)限控制  回復(fù)  更多評論   

    很感謝樓主的努力,但是我按照你說的運(yùn)行程序,權(quán)限一點都不起作用。
    2010-03-05 09:05 | hjn

    # re: Flex flex企業(yè)級UI權(quán)限控制[未登錄]  回復(fù)  更多評論   

    請自己查看demo
    2010-03-05 12:12 | badqiu

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 99国产精品永久免费视频| 国产精品网站在线观看免费传媒 | 粉色视频在线观看www免费| 亚色九九九全国免费视频| 亚洲欧洲日本精品| 99久在线国内在线播放免费观看| 亚洲AV成人片色在线观看高潮| 国产无遮挡无码视频免费软件| 婷婷亚洲综合五月天小说| 亚洲视频免费在线观看| 亚洲人妖女同在线播放| 2020因为爱你带字幕免费观看全集| 亚洲视频在线观看网站| 成年网站免费视频A在线双飞| 亚洲色欲色欱wwW在线| 亚洲成aⅴ人片久青草影院| xvideos永久免费入口| 国产精品亚洲а∨无码播放| 久久久99精品免费观看| 亚洲国产午夜电影在线入口| 巨胸喷奶水视频www网免费| 国产区图片区小说区亚洲区| 精品亚洲一区二区三区在线观看| 三级网站免费观看| 亚洲精品不卡视频| 国产大片51精品免费观看| 黄床大片免费30分钟国产精品| 亚洲国产精品无码专区在线观看| 57pao一国产成永久免费| 久久精品国产亚洲av天美18| 亚洲无人区午夜福利码高清完整版| 蜜桃视频在线观看免费视频网站WWW| 亚洲国产成人99精品激情在线| 免费大黄网站在线观看| 免费一区二区三区| 亚洲国产精品无码久久久秋霞1| 一本色道久久综合亚洲精品高清| 日日麻批免费40分钟日本的| 四虎国产精品成人免费久久| 亚洲黄色免费网站| 免费在线看片网站|