posts - 165, comments - 198, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          權限設計的探討閱讀后感

          Posted on 2008-04-07 22:49 G_G 閱讀(2818) 評論(6)  編輯  收藏 所屬分類: javaGeneral

          ????權限設計的探討閱讀后感

          ????文章路徑:http://www.chinaitpower.com/A200508/2005-08-07/183934.html

          ????權限設計通常包括數據庫設計、應用程序接口(API)設計、程序實現三個部分。

          ????權限分類:

          ????????首先是針對數據存取的權限,通常有錄入、瀏覽、修改、刪除四種。

          ????????其次是功能,它可以包括例如統計等所有非直接數據存取操作,另外,我們還可能對一些關鍵數據表某些字段的存取進行限制。

          ?

          ?

          權限表及相關內容大體可以用六個表來描述,如下:?
          ????1 擁有權限角色(即用戶組):具體擁有權限描述實體。

          ????2 用戶表:用戶的描述,其它(如地址、電話等信息);?
          ????3 角色-用戶對應表:該表記錄用戶與角色之間的對應關系(多對多關系),一個用戶可以隸屬于多個角色,一個角色組也可擁有多個用戶。

          ????4 權限列表:程序所有權限列表。該表記錄所有要加以控制的權限,如錄入、修改、刪除、執行等;?
          ????5 權限-角色-用戶對應表權限對應角色(多對多關系)再由4表關系到用戶。

          ?

          在探討文中的第4條,我怎么都不太理解?望大家探討。反向權限嗎?那怎么和系統中的擁有一起描述?

          ?

          下面提出一些自己的見解:

          ???? 1 用戶表:用戶的描述,其它(如地址、電話等信息);?

          ?? 2 權限列表:程序所有權限列表。該表記錄所有要加以控制的權限,如錄入、修改、刪除、執行等;?
          ???3 權限樹(模糊看成角色,但有些不同。樹性結構,結構數據庫中表外鍵自己):孩子接點繼承父親接點全部權限,并在次上擴充和刪減權限建立自己分支。

          ???4 權限列表-權限樹:(多對多關系)用于描述此權限樹接點父親接點權限繼承下,由自己添加和消減的權限;

          ????????????????????????????????????????本表中用一列枚舉列用于表示本紀錄是添加或刪減權限。

          ???5 用戶-權限樹:權限樹接點對應用戶(多對一)關系。

          感覺自己的這種框架,能很好的擴充(在某接點下增,刪某權限或直接找到最向近的一個權限樹接點并繼承)??

          大家多說說自己的見解,和對比下這兩個框架的一些優缺點把。本人隨時恭聽。G_G

          與2008-4-7 22:50北京

          google doc 原稿:?http://docs.google.com/Doc?id=dkvfctc_16hgvfkbfs

          ?


          評論

          # re: 權限設計的探討閱讀后感  回復  更多評論   

          2008-04-08 13:33 by Ron
          我關于權限系統的一篇總結。
          http://ronliu.freehoxt.com/blog/?p=10
          所謂“限定內容列表”,用來限制用戶所能操作的表的范圍,字段的范圍。比如對某些字段只讀,不過我傾向與單獨做個表。

          # re: 權限設計的探討閱讀后感  回復  更多評論   

          2008-04-08 21:05 by FastUnit
          在jdon上看過幾篇不錯的討論:
          http://www.jdon.com/jivejdon/thread/7309.html
          http://www.jdon.com/jivejdon/thread/10122.html
          http://www.jdon.com/jivejdon/thread/4110.html

          我自己的設計大致上是這樣分解的:
          1、權限點:訪問權限(頁面權限、點權限、列權限、行權限/數據權限),執行權限(包含增刪改和其他業務操作)
          2、組織結構:用戶、角色、用戶組、機構(后兩者可選),允許對用戶從不同角度分組,方便管理和降低授權工作量
          3、權限點與用戶關聯:以角色為核心間接關聯,分級授權
          4、權限檢查:由可配置的攔截器統一管理

          # re: 權限設計的探討閱讀后感  回復  更多評論   

          2008-04-08 22:18 by 和風細雨
          關注一下。

          # re: 權限設計的探討閱讀后感  回復  更多評論   

          2008-04-11 08:35 by 如坐春風
          http://www.aygfsteel.com/sitinspring/archive/2008/04/10/191768.html

          這是我對權限系統的一點粗淺看法.

          # re: 權限設計的探討閱讀后感  回復  更多評論   

          2008-04-12 12:55 by 一農
          建議大家還是深入了解一下Acegi,Acegi設計的思路和樓主有所不同。在Acegi里有用戶,授權,資源,以及在資源被訪問前進行權限的檢查。一個用戶可以有多個授權,一個授權可以對應多種資源,而資源可以多種多樣。在Acegi的默認實現了有url,方法,領域對象。而用戶和授權的關系,并不只是直接把授權交給用戶,還可以把授權分配給角色,給用戶組,給部門等,然后用戶和角色,用戶組,部門關聯起來,幾種分配方式可以配合使用。
          按照這種思路,采用不同的授權方式,應該是可以用一套類似的程序,實現多種的授權方式。Acegi關注的夠底層,所以可以有更大的擴展,適應更多的情況。

          # re: 權限設計的探討閱讀后感  回復  更多評論   

          2008-04-14 09:20 by G_G
          @一農
          謝謝提醒!
          主站蜘蛛池模板: 建宁县| 临安市| 浑源县| 买车| 井冈山市| 望城县| 稻城县| 桂平市| 庆城县| 金塔县| 洛川县| 宜良县| 平南县| 广平县| 宁强县| 电白县| 泗洪县| 凤山市| 长乐市| 于田县| 平和县| 福贡县| 鄂伦春自治旗| 平顶山市| 合阳县| 城市| 成安县| 鄂尔多斯市| 神木县| 酒泉市| 志丹县| 绵竹市| 延川县| 重庆市| 庆云县| 东宁县| 孝义市| 于田县| 阳新县| 喀喇沁旗| 个旧市|