<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 飛翔天使 閱讀(973) 評論(0)  編輯  收藏 所屬分類: 軟件設計

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


    網站導航:
     
    主站蜘蛛池模板: xxxx日本免费| 久久久久久AV无码免费网站| 免费在线看v网址| 亚洲黄色免费电影| 91精品免费高清在线| 亚洲人成网站影音先锋播放| 全部免费毛片在线播放| 亚洲综合免费视频| 台湾一级毛片永久免费| 中文字幕亚洲综合久久综合| 99re热免费精品视频观看| 亚洲砖码砖专无区2023| 日本免费人成黄页在线观看视频 | 免费无码毛片一区二区APP| 久久精品国产亚洲一区二区| 国产va在线观看免费| 亚洲欧洲精品一区二区三区| 美女视频黄的全免费视频网站| 亚洲人成7777影视在线观看| 午夜色a大片在线观看免费| 国产综合激情在线亚洲第一页| 亚洲国产日韩在线观频| 久久免费视频观看| 亚洲午夜国产精品无卡| 日韩免费无码一区二区视频| 一级做a爱过程免费视| 婷婷久久久亚洲欧洲日产国码AV | 国产精品冒白浆免费视频| 男人j进女人p免费视频| 精品久久久久久亚洲| 在线观看www日本免费网站| 亚洲AV色欲色欲WWW| 久久久久亚洲爆乳少妇无 | 中文在线免费观看| 亚洲欧洲日本精品| 四虎1515hm免费国产| 久久国产精品2020免费m3u8 | 亚洲日本中文字幕一区二区三区| a级黄色毛片免费播放视频| 亚洲一区二区三区在线网站| 深夜国产福利99亚洲视频|