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

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

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

    posts - 193,  comments - 520,  trackbacks - 0

    一、???????????? 考慮實現

    1、? 系統權限考慮繼續采用原先實現方式,在構造功能樹和樹狀菜單時作出權限判斷;

    2、? 數據庫操作權限考慮應用 Acegi 擴展,在業務層對相應的瀏覽 / 增加 / 修改 / 刪除的業務方法進行攔截;

    3、? 行級數據權限考慮采用 AOP 的方式在用戶訪問相關資源時根據用戶權限動態構造 SQL 注入到業務方法里,再由業務方法傳遞到 DAO 里;

    4、? 列級數據權限考慮做入頁面,這里不再討論。

    5、? 大集中模式下的權限管理,本質也是行級數據權限,即在每次數據訪問時都需要強制判斷用戶所屬部門 Group

    一、 權限管理詳細解決方案

    用戶、用戶組、角色設計如下:
    Image00000.bmp

    Principal 即為權限主體

    1、? 系統權限授權

    web 頁面:

    頁面上顯示兩棵樹:左側顯示用戶、用戶組和角色樹,右側顯示功能模塊樹,功能模塊樹的節點上跟兩個復選框,分別是可見 / 可再授權。點擊用戶、用戶組和角色樹上的節點對相應權限主體進行授權。

    很顯然可再授權權限包含可見權限。

    數據庫實現:

    ACL 實現,表設計如下:

    資源 ID ,權限主體 ID ,權限主體 TYPE ,資源 TYPE ,資源操作權限,條件查詢語句 queryStr

    說明:

    權限主體 TYPE? 三種: user/group/role

    資源 TYPE??? ???? 兩種: function/method? 此時對系統權限來說是 function

    條件查詢語句 queryStr??? 數據范圍控制 ? 此時對系統權限該字段無效

    對象:
    Image00002.bmp

    用戶保存授權信息時,先刪除該權限主體 ID 的授權記錄,再更新。

    2、? 數據庫操作權限授權

    這里引入一個新的對象:數據庫操作資源對象 ? DataResource

    表設計如下:

    ID NAME parentId resStr resType desc

    說明如下:

    ID

    NAME 資源名稱 例如:新增用戶

    parentId

    resStr? 業務方法地址 例如: com.way.sevice.UserService.addUser

    resType 資源類型,分兩種: abstract/detail? 抽象 / 具體

    desc? 描述說明

    例子:

    對用戶管理進行數據庫操作權限授權

    新建“用戶管理”做父節點,選擇資源類型為“抽象”

    在“用戶管理”下再依次新增“新增用戶”、“瀏覽用戶”、“修改用戶”、“刪除用戶”四個子節點,選擇資源類型為“具體”

    如果系統自己來判斷存儲就是葉子節點是“具體”,其他為“抽象”

    web 頁面:

    頁面上顯示兩棵樹:左側顯示用戶、用戶組和角色樹,右側顯示數據庫操作資源對象樹,數據庫操作資源對象樹的葉子節點的一級父節點上跟一個數據范圍限定 button ,點擊后彈出窗口輸入限定條件;葉子節點上跟一個復選框。點擊用戶、用戶組和角色樹上的節點對相應權限主體進行授權

    授權信息存入 ACL 表中

    資源 TYPE method

    3、? 行級數據權限授權

    已在上面做了說明即數據范圍限定

    4、? 大集中模式下的權限授權

    其實所謂大集中模式控制的也不過是數據范圍,考慮是所有相關表全部增加 groupId 字段,新增時添入該字段,讀出時進行判斷

    web 頁面:

    “組織和用戶管理”模塊中,每個組織中都允許設定一個管理員,一旦設定管理員,該組織就進入大集中模式,即所有該組織的數據與其他同級組織互相隔離,僅上級組織可見。同時說明一點的是:該管理員與系統總的管理員權限一樣,不同的是數據范圍僅限制與該組織內部。

    綜述:

    實際的授權部分采用了 ACL ,所以授權比較簡單和直觀

    系統資源和數據庫操作資源分開兩個表存儲,這樣可能會給用戶帶來不便,也就是授權時還需要切換,但這種不便似乎不好解決,因為一個是粗粒度的一個是細粒度的。

    Image00001.bmp



    http://www.tkk7.com/ronghao 榮浩原創,轉載請注明出處:)
    posted on 2006-07-06 17:47 ronghao 閱讀(3018) 評論(0)  編輯  收藏 所屬分類: 權限相關
    <2006年7月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    關注工作流和企業業務流程改進。現就職于ThoughtWorks。新浪微博:http://weibo.com/ronghao100

    常用鏈接

    留言簿(38)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    常去的網站

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产亚洲精品美女久久久| 91精品成人免费国产| 亚洲AV无码成人精品区天堂| 亚洲福利视频网站| 国产亚洲日韩一区二区三区| 免费精品一区二区三区在线观看| 免费a级毛片无码a∨免费软件| 亚洲欧美日韩久久精品| 亚洲视频一区二区三区| 亚洲精品无码久久千人斩| 亚洲 另类 无码 在线| 最近免费中文字幕视频高清在线看| 久久精品成人免费网站| 一级毛片在播放免费| 美美女高清毛片视频黄的一免费 | 亚洲国产高清国产拍精品| 亚洲福利秒拍一区二区| 亚洲AV日韩AV永久无码免下载 | 国产精品亚洲va在线观看| 亚洲冬月枫中文字幕在线看| 亚洲综合婷婷久久| 亚洲AV无码久久精品蜜桃| 亚洲人成在线播放网站| 最新亚洲成av人免费看| 亚洲精品无码久久久久AV麻豆| 亚洲国产成人久久综合一区77| 国产jizzjizz免费看jizz| 国产精品va无码免费麻豆| 日本a级片免费看| 嫩草影院免费观看| 在线免费视频一区| 国产一级做a爱免费视频| 国产成人免费全部网站| 免费永久在线观看黄网站| 免费在线观看a级毛片| 亚洲成A人片在线观看中文| 亚洲男人av香蕉爽爽爽爽| 色噜噜AV亚洲色一区二区| 国产亚洲精品岁国产微拍精品| 久久亚洲免费视频| 亚洲综合小说久久另类区|