基于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

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 光山县| 四子王旗| 阿拉善左旗| 七台河市| 嵊泗县| 安义县| 定边县| 泉州市| 隆昌县| 昌江| 东乡| 溧水县| 上犹县| 潼关县| 台北市| 河曲县| 永泰县| 惠安县| 哈尔滨市| 阿拉善右旗| 涡阳县| 邢台县| 津南区| 遵义市| 吉首市| 龙井市| 大化| 夏邑县| 凉山| 洞口县| 孝义市| 宜都市| 治多县| 监利县| 兴仁县| 安庆市| 玉林市| 苗栗县| 隆尧县| 伊金霍洛旗| 民权县|