我如何为mdmsoft / yii2-admin

时间:2017-10-19 07:49:20

标签: yii2 rbac yii2-user

我为我的系统创建了一个权限,通过此扩展,其他人工作正常。例如,我为Page模块设置了权限,然后我使用了下面的代码

  if(\Yii::$app->user->can('page_module')){}else{
        throw new ForbiddenHttpException("You are not authorized to perform this action.", 403);
    } 

它为我提供了限制。我在扩展控制器中使用了这些行pf代码,然后它受到限制,但是如果我更新扩展然后代码将被删除它很容易导致。我并不了解如何扩展所有控制器并设置权限。如果还有另一种方式,我不知道。

1 个答案:

答案 0 :(得分:2)

设置mdmsoft / yii2-admin扩展访问权限后,所有路由都将被拒绝,直到您授予它为止。而不是硬编码yii::$app->user-can('permission')使用RBAC,这应该是您安装mdmsoft / yii2-admin的唯一原因。

作为访问设置 希望您使用Yii2的高级模板。 最初,在frontend/config/main.php

中设置为访问权限
'as access' => [
    //This access behavior must be in frontend and backend.
    //The 'as access' behavior will interfere with migrations if put in common.
    'class' => 'mdm\admin\components\AccessControl',
    'allowActions' => [
        'site/*',  //Allow by default to all.
        'debug/*',
        //'admin/*', //Leave commented out, unless setting up admin roles initially.
        //Allow guests to do:
        'ticket/ticket/index', 
    ]
],

设置RBAC

RBAC层次结构如下:

用户 - > Roles-> Permissions->路线

示例

-Joey

- Admin_Role

---- Admin_Permission

-------- app / controller1 / *

-------- app / controller2 / view

设置RBAC

  1. 首先添加您的路线。
  2. 添加您的权限。
  3. 为您的权限分配路由。
  4. 创建角色。
  5. 为您的角色分配权限。
  6. 为用户分配角色。