基于URL方式的權限模型

          對于B/S結構的權限控制,有N多種實現方式的權限模型,但很多都是非常的復雜,以前在做這塊時一直就做的不是很好,考慮的過于復雜,其實應該遵循Simple原則先做出自己能想到的最簡單的方案,再逐漸的重構,一種基于URL方式的權限模型就非常簡單,很容易理解,也是非常的有效。
          模型仍然是基于RBAC,遵循User---->Role---->Permission---->Resource+Operate,在URL方式的權限模型中認為所有對于系統的操作均通過URL進行,其實在B/S結構中這樣認為也沒有什么不可的,既然是這樣那么模型就很容易建立了,例如對于用戶管理模塊,有查看、新增、編輯、刪除這四種操作方式,那么就可以在系統中建立Resource=用戶管理,Operate分別為查看、新增、編輯、刪除,每種操作相應的對應一個url,這個在MVC框架中就更好去做了,通常一種動作對應了一個command類,那么其url可能是view.cmd等,^_^,這樣用戶管理的幾種操作權限就配置好了,系統管理員則相應的可增加用戶管理員、用戶管理查看員等來配置相應的權限,在實現的模型中判斷則可通過類似user.doPrivilege("用戶管理","查看")來判斷用戶是否具有權限,這種模型對控制菜單樹的顯示、操作、模塊的功能按鈕的顯示都具有有效的作用。
          但對于具體業務細節的權限控制,還是得通過代碼控制來實現的,如控制某某部門的管理員只可對該部門下的權限進行管理,其實想想這個也是可以在url方式的權限模型中實現的,通過url的正則表達方式等來實現,呵呵,不去具體說了,至于對模塊產生的數據權限的控制,可以通過數據類型的方式來控制,如某模塊產生的數據類型分為公共、私有幾種類型,可通過配置角色能訪問該模塊何種類型的數據來實現。
          基于URL方式的權限模型好處在于容易理解,能夠快速實現,當然,還有基于action方式的權限模型等等,其實相應來講基于URL方式的和基于action方式的基本相似,而且基于URL方式的更容易理解和實現。

          posted on 2005-09-01 19:43 BlueDavy 閱讀(2066) 評論(3)  編輯  收藏 所屬分類: 系統設計

          評論

          # re: 基于URL方式的權限模型 2005-09-02 14:23 pesome

          你好,有聯系方式嗎?  回復  更多評論   

          # re: 基于URL方式的權限模型 2007-10-30 16:39 一生一火花

          非常贊同 我也想這樣實現  回復  更多評論   

          # re: 基于URL方式的權限模型[未登錄] 2012-02-07 12:17 abc

          哈哈,我還寫一個類似的系統呢。  回復  更多評論   

          公告

           









          feedsky
          抓蝦
          google reader
          鮮果

          導航

          <2005年9月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          統計

          隨筆分類

          隨筆檔案

          文章檔案

          Blogger's

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 始兴县| 普兰县| 寿阳县| 曲阜市| 建始县| 南昌市| 云南省| 吉水县| 通城县| 察雅县| 昌图县| 济南市| 宜章县| 得荣县| 梁河县| 永仁县| 慈利县| 谷城县| 老河口市| 松阳县| 磴口县| 蛟河市| 尚义县| 威信县| 英山县| 鄂伦春自治旗| 宁陵县| 盐城市| 石景山区| 贞丰县| 荣成市| 广西| 胶州市| 尼木县| 晋城| 永新县| 平果县| 出国| 镇坪县| 司法| 刚察县|