xjcallen
- xjcallen 2018-10-07 已签到连续签到2天,获得了10个金钱
- xjcallen 2018-10-06 已签到连续签到1天,获得了5个金钱
- xjcallen 发表了说说json_decode
- xjcallen 2018-02-17 已签到连续签到1天,获得了5个金钱
- xjcallen 提出了问题如何不允许同一账号多处登录
- xjcallen 2017-12-08 已签到连续签到1天,获得了5个金钱
一般我在name字段都是存储的节点的形式,如:modules/controll/action
Yii2 RBAC 表格内不是用来存储路由(route, 即你说的“节点”)的。路由的权限判断通过 ACF (Access Control Filter) 实现。
在做项目的时候不可能就用他原原本本的就能满足客户的一些需求,可以在他的源结构中扩展加一些字段……
你说的有道理,前提是你对 Yii2 RBAC 相关知识通读过,有一个整体的、大致的认识。当自己的需求不能实现时,大致有两种可能:一、某个知识点能解决需求,但是该知识点自己不知道;二、需求比较特殊,框架中提供的通用功能满足不了特殊的需求。解决办法是新建一个子类,在子类中进行个性化定制。
如:我有50个权限要检查 YIi会这样去查:
SELECT * FROM data00200 ***
你确定 Yii2 是这样查找的吗?还是 ThinkPHP 是这么查的,所以你觉得 Yii2 也是这么做的?我对 RBAC 了解有限,没有找到这里的出处。
我觉得你走进了一个误区:有意无意地,带着 ThinkPHP 已有的知识结构去理解 Yii2. 框架间的实现原理的确类似,数据结构也可能差别不大,但是实现思路上可能存在差别。
它确实就是这么干的
$query = (new Query)->from($this->itemTable)->where([
'type' => Item::TYPE_PERMISSION, 'name' => array_keys($result), ]);
一般我在name字段都是存储的节点的形式,如:modules/controll/action
Yii2 RBAC 表格内不是用来存储路由(route, 即你说的“节点”)的。路由的权限判断通过 ACF (Access Control Filter) 实现。
在做项目的时候不可能就用他原原本本的就能满足客户的一些需求,可以在他的源结构中扩展加一些字段……
你说的有道理,前提是你对 Yii2 RBAC 相关知识通读过,有一个整体的、大致的认识。当自己的需求不能实现时,大致有两种可能:一、某个知识点能解决需求,但是该知识点自己不知道;二、需求比较特殊,框架中提供的通用功能满足不了特殊的需求。解决办法是新建一个子类,在子类中进行个性化定制。
如:我有50个权限要检查 YIi会这样去查:
SELECT * FROM data00200 ***
你确定 Yii2 是这样查找的吗?还是 ThinkPHP 是这么查的,所以你觉得 Yii2 也是这么做的?我对 RBAC 了解有限,没有找到这里的出处。
我觉得你走进了一个误区:有意无意地,带着 ThinkPHP 已有的知识结构去理解 Yii2. 框架间的实现原理的确类似,数据结构也可能差别不大,但是实现思路上可能存在差别。
你去看看 Yii::$app->authManager->getPermissionsByUser
- xjcallen 2017-06-29 已签到连续签到1天,获得了5个金钱