这可以通过RBAC方法(角色,权限)设置权限来访问Yii2中的模块吗?
我想允许具有空间角色的用户访问我的某个模块。
答案 0 :(得分:9)
我为此目的使用过滤器:
'modules' => [
'roles' => [
'class' => 'aj\admin\Module',
'as access' => [
'class' => 'yii\filters\AccessControl',
'rules' => [
[
'allow' => true,
'roles' => ['Administrator'],
]
]
],
]
答案 1 :(得分:1)
您可以像在控制器中一样设置模块中的行为。
<?php
namespace app\modules\admin;
use yii\filters\AccessControl;
class Admin extends \yii\base\Module
{
public $controllerNamespace = 'app\modules\admin\controllers';
public $defaultRoute = 'overview';
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'allow' => true,
'roles' => ['basic.superadmin', 'basic.admin'],
]
],
],
];
}
public function init()
{
parent::init();
$this->layout = 'main';
}
}