posts - 193,  comments - 520,  trackbacks - 0
          很早就完成了權限系統的編碼,這里把一些功能說明貼出來,也希望提提意見。

          權限系統基于acegi框架實現了從前端頁面到后臺數據全面的控制。在權限控制中,它將權限分成五類:??
          ?
          一是系統權限,主要是對模塊為單位的權限劃分,具體就是用戶對該模塊可見不可見,能不能對該模塊進行再授權的操作。表現在用戶界面就是用戶登錄系統主頁面后,可以看到的頂部菜單和左側outlookbar菜單的內容控制。作為粒度最大的權限控制,系統實現了web url的防盜鏈功能。舉例來說,用戶新開發的一個叫車輛管理的模塊,配置在http://localhost/business/carmanage.actionurl下,當對這個模塊的權限加以控制后,直接在瀏覽器中鍵入http://localhost/business/carmanage.action同樣是無法訪問的,而不僅僅是界面內容的屏蔽。
          ?
          二是模塊操作權限,在對整個模塊的權限做出控制后,這里繼續對模塊的瀏覽、增加,修改,刪除的操作權限做出控制,也可以理解為對象權限?。還是以車輛管理為例,不同的人員對這個模塊的操作是不同的,有些用戶可以新增,刪除車輛;而有些用戶則只是可以對車輛的情況查看不能修改。通過系統提供的一套web 標簽,頁面可以根據用戶不同的操作權限屏蔽相應的功能按鍵。例如刪除,新增按鍵。用戶繞過頁面直接操作相應業務方法同樣也做到了嚴格的控制,沒有權限的訪問會被拒絕同時記入日志。?
          ?
          三是數據范圍權限,又可以叫做對象實例級權限。事實上不是每個用戶都可以看到所有記錄的。以財務管理為例,部門經理只能查看金額小于1W的數據;而總經理則沒有限制。權限系統對這部分權限也做出了全面的控制,可以根據數據類型,相應字段數值范圍做出控制。
          ?
          四是單條數據ACL權限,為了滿足更嚴格的數據權限要求,權限系統對數據實現了單條數據的ACL權限,具體說就是對每條數據都實現了權限控制,每條數據都有一到多條權限數據與其對應。以個人通訊錄為例,每個用戶都維護自己的一個通訊錄,這些數據都只是對本人可見,其他人不可見。但用戶可以對這些數據做出授權,將某條聯系方式以授權的方式共享給其他人,并賦予不同的權限,包括擁有,修改,刪除,瀏覽四種權限。

          五是數據字段權限,通過xml配置,系統保證了用戶的最小粒度的權限控制。每條業務數據權限可以精確控制到每一個字段。包括單個字段的可否瀏覽以及可否修改。保證了敏感信息的安全性。


          授權,作為權限系統的重要部分,系統提供了相當方便的操作體驗。以樹狀的方式展現權限主體(用戶,角色,部門)以及資源,方便,直接,一目了然。區別與傳統的RBAC模型,權限不僅僅可以分配給角色,也可以分配給部門和用戶。實際的權限是這三者權限的疊加,最大限度的方便用戶操作。考慮到用戶的擴展,系統提供兩個權限繼承規則接口,用戶可以自定義權限繼承的規則。例如,部門A下有部門A1,部門A的權限是否由部門A1繼承。

          整個權限系統的數據都建立在系統統一的緩存管理之上,用戶登錄后,其權限信息即被緩存,保證系統的效率


          http://www.aygfsteel.com/ronghao 榮浩原創,轉載請注明出處:)
          posted on 2007-03-18 22:46 ronghao 閱讀(4944) 評論(5)  編輯  收藏 所屬分類: 權限相關

          FeedBack:
          # re: 權限系統功能說明
          2007-03-19 09:03 | 祎恬凡
          to: 通過系統提供的一套web 標簽
          這些標簽是自己寫的,還是acegi提供的  回復  更多評論
            
          # re: 權限系統功能說明
          2007-03-19 10:48 | 剃刀
          樓主君的權限體系泛化的范圍過寬,將導致難于理解,難于使用,日后難于維護的窘境  回復  更多評論
            
          # re: 權限系統功能說明
          2007-03-19 11:04 | Tortoise
          好東西。在學習  回復  更多評論
            
          # re: 權限系統功能說明
          2007-03-19 16:22 | ronghao
          to:祎恬凡
          是對acegi標簽的擴展,主要修改在權限邏輯部分。
          to:剃刀
          我不太明白,實際用戶在二次開發過程中基本上不會與權限部分的API打交道,這樣難于維護就比較難理解了。這也得益與acegi的AOP,filter處理,完全與業務代碼分離。歡迎繼續討論  回復  更多評論
            
          # re: 權限系統功能說明
          2007-03-19 19:49 | 祎恬凡
          能不能留下一個聯系方式,最近也在用acegi搞權限,好隨時請教!  回復  更多評論
            
          <2007年3月>
          25262728123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

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

          常用鏈接

          留言簿(38)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          常去的網站

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 曲阳县| 平泉县| 永吉县| 阳春市| 翁源县| 遂平县| 伊金霍洛旗| 怀远县| 久治县| 颍上县| 罗定市| 武川县| 宜春市| 开平市| 大理市| 石河子市| 黄冈市| 廉江市| 上林县| 通许县| 剑川县| 平远县| 于都县| 河津市| 灵寿县| 类乌齐县| 西吉县| 北流市| 哈尔滨市| 吴堡县| 广丰县| 响水县| 凉山| 开封县| 新营市| 利川市| 道真| 磐安县| 化州市| 太白县| 丰宁|