Yii2角色和用户

时间:2015-12-11 12:50:43

标签: yii2 yii2-user yii2-user-roles yii2-rbac

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

事实上,我想为管理员用户建立“管理员”等访问规则(其中yii对于经过身份验证的用户说'@',对于来宾用'?'。)

1 个答案:

答案 0 :(得分:0)

首先在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。