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

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

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

    隨筆 - 147  文章 - 71  trackbacks - 0
    <2009年2月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    1234567

    常用鏈接

    留言簿(1)

    隨筆分類(146)

    隨筆檔案(147)

    文章分類(28)

    文章檔案(28)

    喜歡的Blog

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    權限設計是很多系統重要的組成部分,主要用于控制功能和流程,本文將幾種常見的權限設計方案(權限系統的名都是自己起的)的基本設計寫出來,其中不恰當處還請大家指出,我們來討論一下.

    1.等級權限系統

        這種權限系統在論壇中很常見,在這種系統中,權限級別如同官階從低到高排列,每個用戶擁有一個權限,其中設定了這個用戶的權限等級,在用戶需要執行操作前先查看其權限等級是否大于執行操作所需要的權限等級,是則進行操作。

    在等級權限系統中領域對象用戶類User的基本屬性如下:
        id       // 用戶ID
        name     // 用戶名

    領域對象權限類Privilege的基本屬性如下:
        id       // 權限ID
        userid   // 持有此權限的用戶id
        level    // 用戶的權限等級

    level的設置示例
    level 對應可執行的功能
    0 訪問
    1 可跟帖
    2 可創建主貼
    3 可刪除主貼
    4 可創建頻道
    5 可刪除頻道
    6 可查看用戶
    7 可分配用戶權限
    8 可修改用戶密碼
    9 可刪除用戶
    ...

    使用中,執行一個操作比如創建主貼時,先從Session中取出用戶,然后按其id查出其對應的權限等級,拿它和執行創建主貼所需要的等級(3)進行比較,高于則可進行創建主貼操作,否則報告權限不夠.

    等級權限系統簡單易用,在如論壇等剛性控制系統中使用很好,但不適用于需要限制權限的范圍的場合。

    2.范圍限制權限系統

        等級權限系統系統的缺點是控制范圍過廣,比如一個論壇中有很多子論壇,一個子論壇的分版主同時也能對另一個同等級分論壇的帖子進行控制,這在一定程度不合理,有越界的嫌疑,更好的做法是將版主權限控制在一版之內,這時我們可以采用范圍限制權限系統. 這種權限系統在項目管理系統中很常見.

    在等級權限系統中領域對象用戶類User的基本屬性如下:
        id       // 用戶ID
        name     // 用戶名

    領域對象項目類Project的基本屬性如下:
        id       // 項目ID
        name     // 項目名

    領域對象權限類Privilege的基本屬性如下:
        id       // 權限ID
        userid   // 持有此權限的用戶id
        projectid // 此權限對應的項目
        level     // 用戶的權限等級

    其中,通過引入了新屬性projectid,我們對權限的范圍進行了有效限制,項目不同則權限等級再高也是無效,這樣就起到了限制權限能力范圍的作用.

    3.范圍限制單項權限系統

    在上面兩個權限系統中,權限高的自然能執行權限要求低的操作,這樣做權力沒有細分,在有些場合并不合理,比如即使是董事長不可直接操作人事部的招聘任務,他只對雇員去留有建議權.對于這樣的場合我們需要使用范圍限制單項權限系統.它的典型應用如工作流和OA系統。

    在范圍限制單項權限系統中領域對象用戶類User的基本屬性如下:
        id        // 用戶ID
        name      // 用戶名

    領域對象項目類Project的基本屬性如下:
        id        // 項目ID
        name      // 項目名

    領域對象權限類Privilege的基本屬性如下:
        id         // 權限ID
        userid     // 持有此權限的用戶id
        projectid  // 此權限對應的項目
        abilityid  // 權限控制能力id

    領域對象權限控制能力類ability的基本屬性如下:
        id         // 控制能力ID
        item       // 控制能力子項

    item的設置示例
    item 對應可執行的功能
    0 讀
    1 寫
    2 查
    3 刪

    ...

    通過對權限能力的細分,用戶權限的控制粒度更細了,對功能和流程就能有更精確的把握,適用于復雜的場合.

    以上三種權限系統沒有優劣之分只有適用場合的區別,前面的粗略但易于操作,后面的精確但失之煩瑣,在現實使用中我們應該根據場合選擇合適的權限系統.

    posted on 2009-02-04 10:13 飛翔天使 閱讀(974) 評論(0)  編輯  收藏 所屬分類: 軟件設計

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品无码mv在线观看网站| 成人伊人亚洲人综合网站222| 亚洲AV成人一区二区三区AV| 一级免费黄色大片| 国产亚洲AV手机在线观看 | 亚洲熟妇无码一区二区三区 | 久久精品网站免费观看| 亚洲av无码电影网| 成人啪精品视频免费网站| 亚洲性无码一区二区三区| 免费毛片在线视频| 国产产在线精品亚洲AAVV| 亚洲XX00视频| 女同免费毛片在线播放| 久久水蜜桃亚洲av无码精品麻豆| 2019中文字幕在线电影免费| 亚洲午夜精品在线| 日本免费一二区在线电影| 国产亚洲成在线播放va| 久久亚洲AV无码西西人体| 无码人妻久久一区二区三区免费 | 免费jjzz在在线播放国产| 三上悠亚在线观看免费| 伊人久久综在合线亚洲2019| 成人A级毛片免费观看AV网站| 男男gvh肉在线观看免费| 亚洲日韩精品无码专区网址| 成人在线免费看片| 国产成人亚洲精品无码AV大片| 浮力影院亚洲国产第一页| 最近免费视频中文字幕大全| 亚洲国产精品嫩草影院| 亚洲熟妇av一区二区三区| 曰批视频免费30分钟成人| 美女隐私免费视频看| 亚洲一本综合久久| 免费人成在线观看网站视频| 久久精品免费电影| 在线精品自拍亚洲第一区| 中文字幕亚洲综合精品一区| 四虎永久在线精品免费观看地址 |