热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于Thinkphp的rbac的看法

当前操作是否需要验证,tp给出了使用配置文件中的两个参数,一个存储需要验证的操作,一个是不需要验证的操作,但是使用当前的操作来与他们进行匹配,若果不需要验证的操作里面有add这个方法.

今天看了下Thinkphp示例中的rbac的示例,大概说下实现的思路

1、检测是否开启了权限验证

2、检测当前模块是否需要验证

3、检测当前操作是否需要验证

4、获取用户所属角色的拥有的权限

5、根据所获取的权限来验证当前的操作是否允许。

有两个疑问:

1、当前操作是否需要验证,tp给出了使用配置文件中的两个参数,一个存储需要验证的操作,一个是不需要验证的操作,但是使用当前的操作来与他们进行匹配,若果不需要验证的操作里面有add这个方法的话,所有模块的add方法都会跳过验证.

2、公共模块的操作,在获取角色拥有权限的时候,会把公共模块的操作叠加到当前模块的权限列表中,也就是在赋予一个角色公共模块的添加操作的话,那么当前模块的添加操作不管有没有都会添加进去.


推荐阅读
author-avatar
沙上的蜃楼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有