2016-05-12 2 views
0

Je souhaite empêcher les utilisateurs du rôle role d'accéder au backend. J'utilise la valeur par défaut RBAC de yii2 avancé d'autorisation, mais je ne peux pas ajouter des rôles dans les règles d'accès aux règles:Comment puis-je refuser l'accès aux utilisateurs avec le rôle role d'accéder au backend dans yii2?

rules => [ 
    [      
     'actions' => ['login', 'error'], 
     'allow' => TRUE,            
    ] 

dans siteController du back-end. S'il y a un moyen de le faire, je serai reconnaissant.

Répondre

0

Si vous ne souhaitez que refuser l'accès aux membres et permettre de your_role vous pouvez

public function behaviors() 
{ 
    return [ 
     'access' => [ 
      'class' => AccessControl::className(), 
      'rules' => [ 
       [ 
        'allow' => false, 
        'roles' => ['member'] 
       ], 
       [ 

        'allow' => true, 
        'roles' => ['your_role'], 
       ], 
      ], 
     ], 
     'verbs' => [ 
      'class' => VerbFilter::className(), 
      'actions' => [ 
       'logout' => ['post'], 
      ], 
     ], 
    ]; 
} 
0

Il n'y a pas besoin de coder tous les comportements backend contrôleurs. Vous pouvez ajouter même code à la fin de $ config [ 'composants'] backend tableau/config/main.php:

'as beforeRequest' => [ 
    'class' => \yii\filters\AccessControl::className(), 
    'rules' => [ 
     [      
      'actions' => ['login', 'error'], 
      'allow' => true,            
     ], 
     [ 
      'allow' => false, 
      'roles' => ['member'], 
     ], 
    ], 
    'denyCallback' => function() { 
     return Yii::$app->response->redirect(['frontend']); 
    }, 
], 
0

Essayez ce,

public function behaviors() 
{ 
    return [ 
     'verbs' => [ 
      'class' => VerbFilter::className(), 
      'actions' => [ 
       'delete' => ['post'], 
      ], 
     ], 
     'access' => [ 
      'class' => AccessControl::className(), 
      // We will override the default rule config with the new AccessRule class 
      'ruleConfig' => [ 
       'class' => AccessRule::className(), 
      ], 
      'only' => ['index','create', 'update', 'delete'], 
      'rules' => [ 
       [ 
        'actions' => ['index','create'], 
        'allow' => true, 
        // Allow users, moderators and admins to create 
        'roles' => [ 
         User::ROLE_USER, 
         User::ROLE_MODERATOR, 
         User::ROLE_ADMIN 
        ], 
       ], 
       [ 
        'actions' => ['update'], 
        'allow' => true, 
        // Allow moderators and admins to update 
        'roles' => [ 
         User::ROLE_MODERATOR, 
         User::ROLE_ADMIN 
        ], 
       ], 
       [ 
        'actions' => ['delete'], 
        'allow' => true, 
        // Allow admins to delete 
        'roles' => [ 
         User::ROLE_ADMIN 
        ], 
       ], 
      ], 
     ], 
    ]; 
}