关于TP的RBAC的使用

王朝学院·作者佚名  2016-08-28
窄屏简体版  字體: 小  |  中  |  大  |  超大  

如果你是一个TP的重度使用者的话,请自动略过笔者以下文字

权限管理我在成为一个开发者1年半内,接触过2种,一种就是数学方式 比如我们文件夹权限的755这种权限管理的方式,这种二进制的权限管理的方式 无耻得引入http://www.cnblogs.com/qfcndtt/archive/2012/08/03/2621713.html这里讲解的也比较详细,不过这种方式适合于权限节点相对较少的系统。也很轻便。

下面正式开始THINKphp的RBAC的讲解

在系统目录下的Librar/Org/Util目录下的Rbac.class.php

在config中

拥有着RBAC的相关的配置文件

[flash=500,400]http://www.cnblogs.com/gavinjunftd/p/data:image/png;base64,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[/flash]

数据库的话,我以我现在的一个系统为例

角色表 role

[flash=500,400]http://www.cnblogs.com/gavinjunftd/p/data:image/png;base64,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[/flash]

用户对应的角色表 role_user

[flash=500,400]http://www.cnblogs.com/gavinjunftd/p/data:image/png;base64,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[/flash]

节点表 node

[flash=500,400]http://www.cnblogs.com/gavinjunftd/p/data:image/png;base64,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[/flash]

权限表access

[flash=500,400]http://www.cnblogs.com/gavinjunftd/p/data:image/png;base64,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[/flash]

先解析下Rbac中拥有的比较重要的方法

saveAccessList($authId=null)

这里保存可以传空值的前提是 你在用户登录操作的时候要在 $_session[C('USER_AUTH_KEY')] 中把用户的uid保存下来,然后这里会将用户所对应的角色拥有的权限都保存在$_SESSION['_ACCESS_LIST']中。 有2中例外是不保存的,一个是管理员用户(这个用户比较特殊所以需要在管理员登录的时候指定一个$_SESSION[C('ADMIN_AUTH_KEY')]) 一个是开启了实时认证 (实时认证他是不保存权限的每次权限判断的时候都会重新去获取用户的权限)

checkAccess()

这个是判断用户访问的模块和方法是否需要权限认证 (此方法内部调用的无需关心)

checkLogin()

该方法是判断用户是否登录,如果未登录则跳转到指定路径,正常的系统会跳到用户登录页面

AccessDecision()

该方法可是这里权限判断的关键点,因为这个方法就是判断用户是否有访问权限的,具体的逻辑是先去判断是否需要权限认证(checkAccess),然后去看是否是管理员,如果不是管理员就看是否开启了实时认证,如果开启了,就再次去调取用户的权限列表,然后去判断访问的权限是否在数组里,如果没开启则直接从$_SESSION['_ACCESS_LIST']中读取判断。

getAccessList($authId)

这里个人觉得才是这个类中的最为重要的方法。具体的话,笔者还是希望读者自己去看下这里的代码,应该核心就是那几个sql语句,做到了角色继承,不过我做权限管理的话,还是把这个功能默认放弃了,觉得不太方便拓展。

/***********现在我讲解下如何使用这个Rbac*************/

1:用户登录的情况下

用户登录成功后保存authId;判断是否是管理员,然后调用saveAccessList去保存权限

[flash=500,400]http://www.cnblogs.com/gavinjunftd/p/data:image/png;base64,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[/flash]

2:用户在访问系统的时候我们要做权限判断

先去判断用户是否登录,如果未登录跳回登录页面

然后去判断用户是否有访问的权限,如果没有则给定Ajax或者页面访问的报错方式

[flash=500,400]http://www.cnblogs.com/gavinjunftd/p/data:image/png;base64,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[/flash]

看吧就是这么简单,不过我还是建议用户尤其是经常使用tp的开发者,多去看下这些方法的源代码,毕竟读源代码对于个人的提升是很大的。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航