Yii2 角色和用户

Posted

技术标签:

【中文标题】Yii2 角色和用户【英文标题】:Yii2 roles and users 【发布时间】:2015-12-11 12:50:43 【问题描述】:

我能否在 authManager 中静态定义角色(在配置中的 defaultRoles 数组中)并将它们分配给用户,以便行为规则定义对操作的访问权限? 由于我有某些角色,我不想使用 auth_assignmentauth_item 和 ... 假设我在用户表中为角色创建列,并且每个用户都有一个角色,并且角色在配置文件中定义。

事实上,我想为管理员用户构建访问规则,例如“admin”(yii 表示“@”表示经过身份验证的用户,“?”表示来宾)。

【问题讨论】:

你自己试了没。 我在defaultRoles 中添加了管理员,但我不知道怎么说 yii 来检查我的用户角色字段。@AmiteshKumar 阅读此yiiframework.com/doc-2.0/guide-structure-filters.html 你得到了答案@Mehrdad 【参考方案1】:

首先在 params 之类的地方创建你的角色,然后行为函数可以轻松管理身份验证

public function behaviors()

    return [
        'access' => [
            'class'  => AccessControl::className(),
            'except' => [''],//or only
            'rules'  => [
                [
                    'allow'         => true,
                    'actions'       => ['deletepic', 'regenerate'],
                    'matchCallback' => function ($rule, $action) 
                        return (myAuth(['root','admin']));
                    
                ],
            ],
        ],
    ];

myAuth() 将检查当前用户角色,如果他们的角色匹配请求的操作,则返回 true。

【讨论】:

以上是关于Yii2 角色和用户的主要内容,如果未能解决你的问题,请参考以下文章

如何根据 yii2 中的角色更改 Admin LTE 侧边栏上的菜单?

Yii2-如何限制用户查看索引页面中的其他数据

讲堂 | Yii2之rbac(基于角色的权限管理)-- 思想与配置

Yii2全面解析之权限管理RBAC

如果用户继续,怎么办? Yii2

SQL里面用户和角色的区别