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

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


    網站導航:
     
    主站蜘蛛池模板: 一本岛v免费不卡一二三区| 久久亚洲国产成人影院| 一级毛片一级毛片免费毛片| 国产色爽免费视频| 亚洲avav天堂av在线网毛片| 色www永久免费视频| 亚洲精品一卡2卡3卡四卡乱码| 人妻视频一区二区三区免费| 亚洲а∨天堂久久精品9966| 成人免费a级毛片| 亚洲日韩中文字幕无码一区| 在线观看免费成人| 国产亚洲成在线播放va| 无码欧精品亚洲日韩一区夜夜嗨 | 99re6免费视频| 亚洲影院在线观看| 亚洲美女视频免费| 亚洲日韩国产欧美一区二区三区| 啦啦啦手机完整免费高清观看 | 四虎成人精品国产永久免费无码| 亚洲福利在线播放| 国产一级a毛一级a看免费视频| 久久精品亚洲视频| 波多野结衣在线免费视频| 亚洲精品无码专区| 亚洲精品无码99在线观看 | 91高清免费国产自产拍2021| 亚洲人成7777影视在线观看| 四虎影院免费视频| 美女网站在线观看视频免费的| 亚洲伊人久久大香线蕉苏妲己| 午夜小视频免费观看| fc2免费人成在线视频| 亚洲日本中文字幕区| 妞干网免费观看视频| 一级特级女人18毛片免费视频| 亚洲av日韩av天堂影片精品| 操美女视频免费网站| 三年在线观看免费观看完整版中文| 亚洲精品mv在线观看| www亚洲精品少妇裸乳一区二区|