2017-01-29 5 views

답변

1

난 당신이 YII에 RBAC 시스템을 사용하는 가정합니다. 확인을위한 어떤 설정 파일 :

'authManager' => [ 
      'class'  => 'yii\rbac\DbManager', 
], 

또는 'YII \ RBAC \ PhpManager'. 여기

은 나를 위해 일한 것입니다 : denyCallback 호출 할 수 있도록

'actions' => ['index', 'create', 'init'], 
'allow' => false, 
'roles' => ['user2','user3'], 
'denyCallback' => function() 
    { 
     $user = Yii::$app->user; 
     if ($user->can('user2')) { 
      return Yii::$app->getResponse()->redirect(['/address/index']); 
     } else { 
      return Yii::$app->getResponse()->redirect(['/address/create']); 
     } 
    } 

규칙의 '허용'옵션 위해 false로 설정해야합니다. "yiisoft/yii2/filters/AccessControl.php"줄 120 번에서 확인할 수 있습니다.