Heim > Artikel > Backend-Entwicklung > yii2 meldet einen Fehler bei der Überprüfung der Berechtigungen im Controller
rbac-Berechtigungen können normal überprüft werden, aber bei der Überprüfung im Controller wird eine Ausnahme ausgelöst
Der Code im Controller sieht so aus
öffentliche Funktion beforeAction($action) {
<code>$controller = Yii::$app->controller->id; //获取控制器 $action = Yii::$app->controller->action->id; //获取方法 if(Yii::$app->user->can($controller.'_'.$action)){ return true; }else{ throw new \yii\web\UnauthorizedHttpException('你没有操作权限'); }</code>
}
Wenn Sie die Seite aufrufen, wird die Meldung angezeigt, dass Sie keine Betriebsberechtigung haben. Die entsprechenden $controller.'_'.$action-Daten wurden zur Datenbank hinzugefügt...
rbac-Berechtigungen können normal überprüft werden, aber bei der Überprüfung im Controller wird eine Ausnahme ausgelöst
Der Code im Controller sieht so aus
öffentliche Funktion beforeAction($action) {
<code>$controller = Yii::$app->controller->id; //获取控制器 $action = Yii::$app->controller->action->id; //获取方法 if(Yii::$app->user->can($controller.'_'.$action)){ return true; }else{ throw new \yii\web\UnauthorizedHttpException('你没有操作权限'); }</code>
}
Wenn Sie die Seite aufrufen, wird die Meldung angezeigt, dass Sie keine Betriebsberechtigung haben. Die entsprechenden $controller.'_'.$action-Daten wurden zur Datenbank hinzugefügt...
Schreiben Sie die tatsächliche Adresse in die Daten, zum Beispiel:
'/'.$controller.'/'.$action
Sie geben $controller.'_'.$action
Diese Variable aus, ich verwende sie selbst unter der übergeordneten Klasse,
Yii::$app->controller->id und Yii::$app->controller-> ;action ->id ist null