如何使用Yii2中的代码将允许所有操作"*/"分配给特定角色



我正在使用以下代码创建新角色。

use yiirbacPhpManager;
$r=new PhpManager;
$r->init();
$r->createRole("admin","Администратор"); 
$r->save();

我将上述角色分配给特定用户。

$r->assign('1','admin');   //1 is user id

那么,我如何使用php代码将allow all操作分配给上述角色admin呢。基本上,在运行迁移之后,我想创建一个用户作为admin角色,并允许该角色的所有操作。

如果您在控制器中使用行为yiifiltersAccessControl,您可以在bootstrap.php:中将其替换为自己的行为

Yii::$classMap['yiifiltersAccessControl'] = @common/components/filters/AccessControl.php

通过复制AccessControl.php中的原始AccessControl.php并扩展init函数,在AccessControl类中添加适当的角色。在init函数的末尾,只需添加您的角色:

public function init()
{
...
...
$this->rules[] = [
'allow' => true,
'roles' => ['admin'],
];
}

最新更新