没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
T
T
h
h
i
i
n
n
k
k
P
P
H
H
P
P
F
F
r
r
a
a
m
m
e
e
w
w
o
o
r
r
k
k
1
1
.
.
5
5
R
R
B
B
A
A
C
C
T
T
h
h
i
i
n
n
k
k
P
P
H
H
P
P
1
1
.
.
5
5
基
基
于
于
R
R
B
B
A
A
C
C
的
的
权
权
限
限
访
访
问
问
控
控
制
制
设
设
计
计
编写:ThinkPHP文档组
最后更新:20081216
目
目
录
录
1
1 概述.......................................................................................................................................3
2
2 安全体系................................................................................................................................3
3
3 认证过程................................................................................................................................4
4
4 认证设置................................................................................................................................5
5
5 委托认证................................................................................................................................7
6
6 访问决策................................................................................................................................7
7
7 权限分配................................................................................................................................8
8
8 实例解析.............................................................................................................................. 10
1
1 概述
RBAC是指基于角色的访问控制,本篇主要描述了 ThinkPHP的RBAC设计思想和使用实例,给出了一
个统一和方便的权限控制解决方案。
2
2 安全体系
要了解权限访问控制,我们必须了解下什么是安全体系。企业级的应用是离不开安全保护的,ThinkPHP
以基于Spring的Acegi安全系统作为参考原型,并做了简化,以适合目前的ThinkPHP结构,提供了
一个多层的、可定制的安全体系来为应用开发提供安全控制。安全体系中主要有:
² 安全拦截器
² 认证管理器
² 决策访问管理器
² 运行身份管理器
安全拦截器
安全拦截器就好比一道道门,在系统的安全防护系统中可能存在很多不同的安全控制环节,一旦某个
环节你未通过安全体系认证,那么安全拦截器就会实施拦截。
认证管理器
防护体系的第一道门就是认证管理器,认证管理器负责决定你是谁,一般它通过验证你的主体(通常
是一个用户名)和你的凭证(通常是一个密码),或者更多的资料来做到。更简单的说,认证管理器验
证你的身份是否在安全防护体系授权范围之内。
访问决策管理
虽然通过了认证管理器的身份验证,但是并不代表你可以在系统里面肆意妄为,因为你还需要通过访
问决策管理这道门。访问决策管理器对用户进行授权,通过考虑你的身份认证信息和与受保护资源关
联的安全属性决定是是否可以进入系统的某个模块,和进行某项操作。
例如,安全规则规定只有主管才允许访问某个模块,而你并没有被授予主管权限,那么安全拦截器会
拦截你的访问操作。
决策访问管理器不能单独运行,必须首先依赖认证管理器进行身份确认,因此,在加载访问决策过滤
器的时候已经包含了认证管理器和决策访问管理器。
为了满足应用的不同需要,ThinkPHP 在进行访问决策管理的时候采用两种模式:登录模式和即时模
式。
登录模式,系统在用户登录的时候读取改用户所具备的授权信息到Session,下次不再重新获取授权信
息。也就是说即使管理员对该用户进行了权限修改,用户也必须在下次登录后才能生效。
即时模式就是为了解决上面的问题,在每次访问系统的模块或者操作时候,进行即使验证该用户是否
具有该模块和操作的授权,从更高程度上保障了系统的安全。
运行身份管理器
运行身份管理器的用处在大多数应用系统中是有限的,例如某个操作和模块需要多个身份的安全需求,
运行身份管理器可以用另一个身份替换你目前的身份,从而允许你访问应用系统内部更深处的受保护
对象。这一层安全体系目前的RBAC中尚未实现。
3
3 认证过程
对应上面的安全体系,ThinkPHP的RBAC认证的过程大致如下:
1. 判断当前模块的当前操作是否需要认证
剩余19页未读,继续阅读
资源评论
andrew727727
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 全卷积网络基于voc2012数据集简单pytorch实现
- pycharm的一些介绍-用于更好的学习python
- 基于C++的程序设计大赛天梯赛L2答案(天梯赛)
- 基于python实现的三次样条插值和均值插值法实现
- Python语言教程2-python批量图片大小处理-多文件夹
- Python语言教程1-python批量图片重命名,将后缀某几个不想要的字去除
- Space Combat Kit 太空战斗套件Unity游戏开发插件资源unitypackage C#
- Universal Device Preview 通用设备预览Unity游戏开发插件资源unitypackage
- Paladin Anim Set 圣骑士动画集Unity游戏动作动画插件资源unitypackage
- 计算机财务管理期末考报表部分题目及答案.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功