权限管理系统介绍
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联
作用:
1、管理用户能够使用的模块
2、限制用户能访问的数据
3、控制用户对数据容许的操作
目标:确保数据质量及安全
分类:(从控制力度)1、功能级 2、数据级
功能:A、使用权限 B、分配权限 C 、授权权限
权限的解决方案
• 1、自己写一个权限的解决方案:扩展性不是很强
• 2、spring security 严重依赖于spring
• 3、shiro(apache)
① 比较简单
② 不依赖任何容器
③ 扩展性比较强
④ 对权限做了高度的抽象,不依赖于任何的数据库和任何类
权限的两个操作
• 1、认证 登录
• 2、授权 某一个用户具有什么样的操作行为
• 操作什么:
① 对url进行操作
② 对action中的方法进行操作
③ 对页面上的元素进行操作 :操作超级链接、操作button
④ 对页面上的菜单进行操作
⑤ 对数据进行操作
• 例如:url:personAction_showPerson.action("user:showPerson"(权限))
• "user:addPerson":权限 拥有了 增加用户的页面上的增加按钮:显示 ,反之增加按钮隐藏
权限的两个操作
• 1、认证 登录
• 2、授权 某一个用户具有什么样的操作行为
• 操作什么:
① 对url进行操作
② 对action中的方法进行操作
③ 对页面上的元素进行操作 :操作超级链接、操作button
④ 对页面上的菜单进行操作
⑤ 对数据进行操作
• 例如:url:personAction_showPerson.action("user:showPerson"(权限))
• "user:addPerson":权限 拥有了 增加用户的页面上的增加按钮:显示 ,反之增加按钮隐藏
小结
权限可以简单描述为:某某主体 在 某某领域 有 某某权限
1,主体可以是用户,可以是角色,也可以是一个部门
2, 领域可以是一个模块,可以是一个页面,也可以是页面上的按钮
IE
3, 权限可以是“可见”,可以是“只读”,也可以是“可用”(如按钮可以点击)
其实就是Who、What、How
权限控制可以理解,分为这几种 :
【功能权限】:能做什么的问题,如增加产品。
【数据权限】:能看到哪些数据的问题,如查看本人的所有订单。
【字段权限】:能看到哪些信息的问题,如供应商账户,看不到角色、 部门等信息
概念
IE
概念
1.
2.
3.
权限:就是资源
用户:就是该系统的用户
角色:
IE
从需求分析的角度,就是一个企业中的职位
从技术的角度 ,就是权限的集合
用户与角色与权限的关系:多对多
① 用户对角色的维护
② 角色对权限的维护
表结构
8/53