一、权限分析
用户表 user
角色表 role
权限表 node
think_acces
role_id 用户组id
node_id 节点ID
level 节点等级
pid 父级ID
THINK_ACCESS PID 加个字段
think_user 用户表
RBAC中文权称,基于角色权限访问控制
Role-based Access Control
Full扩展包。
财务
安全拦截器
认证管理器(识别不同的身份,你的用 户名和密码,权限是否在授权范围内)
决策访问管理器(即时模式,登陆模式)
运行身份管理(单身份,多身份管理B/S)
1,判断当前的操作(项目【应用】,模块,动作(操作))是否需要认证
2,如果需要认证(是判断用户是否登陆---跳至委托认证管理器验证身份,判断用户是否有权限访问---直接跳至无权访问页)
3,委托认证来验证用户身份
4,获取该用户的权限列表
5,判断用户是否有权限访问
THINKPHP当中的RBAC难点在于,数据库设计。而不在乎代码如何写。你都可以不用写多少代码。
很多人在数据库结构,想不明白,项目【应用】,模块,动作
节点(项目 1,模块 2,方法 3)之间的关系,你先得让用户能访问项目,模块,方法
(他们之间的关系,我们就叫做节点,如果说你需要将所有的节点全部可控制,
你就需要将所有的项目,项目下的模块,模块下的方法,全部加入到节点表当中去)