2015-12-18 2 views
2

Я следовал некоторые путеводители по set up rbac in yii 2Yii 2 RBAC роли

Я создал таблицу добавлены несколько пользователей и так далее.

RBAC контроллер инициализации.

class RbacController extends \yii\console\Controller 
{ 
    public function actionInit() 
    { 
     $auth = Yii::$app->authManager; 

     $baseUser = $auth->createRole('base_user'); 
     $auth->add($baseUser); 

     $support = $auth->createRole('support'); 
     $auth->add($support); 

     $admin = $auth->createRole('admin'); 
     $auth->add($admin); 
     $auth->addChild($admin, $baseUser); 
     $auth->addChild($admin, $support); 

     $auth->assign($support, 2); 
     $auth->assign($admin, 1); 
    } 
} 

У меня есть администратор и некоторые группы пользователей.

В настоящее время в одном из моих контроллеров у меня есть

public function behaviors() 
{ 
    return [ 
     'access' => [ 
      'class' => AccessControl::className(), 
      'rules' => [ 
       [ 
        'allow' => true, 
        'actions' => ['create'], 
        'roles' => ['admin'], 
       ], 
       [ 
        'allow' => true, 
        'actions' => ['index'], 
        'roles' => ['@'], 
       ], 
      ], 
     ], 
    ]; 
} 

В «ролях», я хотел бы поставить администратор. Я не могу понять, как заставить это работать.

Является ли это чрезмерным для моего проекта с помощью RBAC, я просто хочу, чтобы определенные группы пользователей имели доступ к определенным областям/функциям сайта.

+0

в таблице auth_assignment у вас есть значение admin? –

+0

Да, у меня есть значение для каждого зарегистрированного пользователя. – user1724416

+0

Покажите свои компоненты confi/main.php, конфигурацию authManager и проверьте, не содержит ли контроллер yii \ filters \ AccessControl; – scaisEdge

ответ

0
$auth->assign($support, 2); 
$auth->assign($admin, 1); 

1 и 2 должны быть вашим ID пользователя.

Смежные вопросы