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