权限系统设计概述

1.概述

权限系统实际上就是判断访问用户的合法性,有效性以及对访问资源权限的检查。

2. 权限系统要素
资源:授权访问。
角色:访问资源的证书,定义了资源访问的界限,作为一个粗粒度的资源访问权限控制。
主体:访问资源的对象,通常为登录用户。
权限:访问资源的具体限定,权限可以细分为操作权限和数据权限。
 - 操作权限:体现在2个方面,其一:通过界面来体现,具备操作权限的人才可以在界面上看到对应资源;其二:访问指定资源时进行权限检查。
 - 数据权限:主体只能看到/操作他具备访问权限的资源,数据权限的设计可以通过数据库字段管关联来实现。
另外,可以根据权限系统设计的复杂性来决定权限控制粒度。可以将权限独立出来和角色进行组合,理解为通过角色和权限双重身份来限定主体授权访问资源;也可以将权限与角色关联,通过角色来定义主体/分组的权限。
分组:通常对应于现实事物中的部门,主体属于分组,为分组定义角色。


3. 常用权限框架
(1)shiro
http://shiro.apache.org/index.html
JAVA实现的开源通用权限框架,不与特定框架进行绑定。功能全面,使用非常灵活。

(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 系统权限设计思路

原文地址:https://www.cnblogs.com/nuccch/p/6774987.html