RBAC分析、应用、优化


RBAC对于ThinkPHP初学者来说总感觉太复杂,但是权限认证与管理是非常重要且常用的功能,所以我这里算是以学习笔记的形式与大家共同学习。
如题所示,这个帖子主要分为三个部分:分析、应用、优化。分析部分主要了解下RBAC到底是什么,并分析数据库结构,做好应用准备;应用部分以示例项目来看RBAC是如何工作的,对RBAC有个全面的了解;优化部分主要是讲在我们的项目部署时怎么简化RBAC用于实际建站。分析与应用部分我们均以传统方式来部署,优化部分大家可以提出自己的优化方法。

一、分析
RBAC:基于角色的访问控制(Role-Based Access Control),参见百度百科。
用户,角色,节点:用户本身并没有权限,角色才具有控制节点的权限,所以另外还需要有用户与角色的关系、角色与节点的关系,即用户属于什么角色、角色具有 哪些节点的控制权。角色(role) murano pendants虽然不等同于用户组(group),但是这里把角色看成是用户组可能更好理解这种关系吧。
为了使这种结构更明晰,我们先看一下数据库的数据表。

从上图可以看出RBAC的执行流程:(首先判断是用户是否登录,没有登录的话会跳转到入口页)有了目前登录的用户,根据“用户-角色关系表”判断用户属于哪个角色,根据“角色-节点关系表”判断角色具有哪些节点的权限。
再看看这几个表:用户、角色、节点都有id和name,这非常好理解吧。节点表还有pid(父级id)和level(节点对应的级别)。也就是说节点表里面不同节点可以继承,另外级别分为1,2,3分别对应项目、模块、操作。关系表建立起关系,把不同表的id Fashion jewelry对应起来。

怎么样,是不是对数据库的结构比较清晰了呢?可以开始建立好这样的表,准备建立应用哦。
(ThinkPHP的示例中有建好的对应的几个表,差不多,只是多一些字段)

转载于:https://www.cnblogs.com/imadin/archive/2011/05/18/2050150.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值