【问题标题】:How to add use RBAC rule to control access to controller action?如何添加使用 RBAC 规则来控制对控制器操作的访问?
【发布时间】:2015-07-10 00:05:14
【问题描述】:

我设置了一个新的 Yii 2.0 项目,我正在尝试使用 RBAC 来控制对某些控制器操作的访问。我正在使用 DbManager。如何在控制器类的顶部设置规则数组来控制对操作的访问?

【问题讨论】:

标签: yii2


【解决方案1】:

通常在控制器中你可以通过这种方式添加你的规则

public function behaviors()
{
    return [
        'access' => [
            'class' => AccessControl::className(),
            'rules' => [
                [
                    'actions' => ['index','view'],
                    'allow' => true,
                    'roles' => ['viewer', 'viewerModel1', 'viewerModel2'],
                ],
                [
                    'allow' => true,
                    'roles' => ['superAdmin', 'admin', 'manage', 'managerModel1', 'managerModel2'],
                ],   
            ],
        ],        
        'verbs' => [
            'class' => VerbFilter::className(),
            'actions' => [
                'delete' => ['post'],
            ],
        ],
    ];
}

此规则允许访问 'viewer', 'viewerModel1', 'viewerModel2' 的索引和视图。以这种方式对'superAdmin', 'admin', 'manage', 'managerModel1', 'managerModel2' 进行管理的所有访问权限,其他角色无法访问此控制器的视图应用程序

【讨论】:

    猜你喜欢
    • 2014-04-26
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-23
    • 1970-01-01
    • 1970-01-01
    • 2013-10-11
    相关资源
    最近更新 更多