xjcallen

xjcallen

WEB爱好者

  • 财富值175
  • 威望值0
  • 总积分235

个人信息

  • 2018-10-07 已签到
    连续签到2天,获得了10个金钱
  • 2018-10-06 已签到
    连续签到1天,获得了5个金钱
  • 发表了说说
    json_decode
  • 2018-02-17 已签到
    连续签到1天,获得了5个金钱
  • 提出了问题
    如何不允许同一账号多处登录
  • 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

  • 2017-06-29 已签到
    连续签到1天,获得了5个金钱
见习主管 等级规则
235/500
资料完整度
100/100
用户活跃度
10/100

Ta的关注

1

Ta的粉丝

0

Ta的访客

8