1.概述html
權限系統實際上就是判斷訪問用戶的合法性,有效性以及對訪問資源權限的檢查。spring
2. 權限系統要素
資源:受權訪問。
角色:訪問資源的證書,定義了資源訪問的界限,做爲一個粗粒度的資源訪問權限控制。
主體:訪問資源的對象,一般爲登陸用戶。
權限:訪問資源的具體限定,權限能夠細分爲操做權限和數據權限。
- 操做權限:體如今2個方面,其一:經過界面來體現,具有操做權限的人才能夠在界面上看到對應資源;其二:訪問指定資源時進行權限檢查。
- 數據權限:主體只能看到/操做他具有訪問權限的資源,數據權限的設計能夠經過數據庫字段管關聯來實現。
另外,能夠根據權限系統設計的複雜性來決定權限控制粒度。能夠將權限獨立出來和角色進行組合,理解爲經過角色和權限雙重身份來限定主體受權訪問資源;也能夠將權限與角色關聯,經過角色來定義主體/分組的權限。
分組:一般對應於現實事物中的部門,主體屬於分組,爲分組定義角色。數據庫
3. 經常使用權限框架
(1)shiro
http://shiro.apache.org/index.html
JAVA實現的開源通用權限框架,不與特定框架進行綁定。功能全面,使用很是靈活。apache
(2)Spring Security
https://projects.spring.io/spring-security/
Java實現開源權限框架,與Spring框架綁定。功能強大,可是隻能在Spring框架中使用。框架
【參考】
http://blog.csdn.net/bearyb1982/article/details/2448301 關於權限菜單的設計
http://www.cnblogs.com/worfdream/articles/2111977.html 系統權限設計思路spa