2015-05-27 4 views
13

Wie beschrieben here Ich versuche, die Migration zu tun, um Yii die Benutzerauthentifizierung Tabellen erstellen zu lassen. Jedoch habe ich den Fehler:Yii2: RBAC Migration kann nicht durchgeführt werden (Sie sollten "authManager" konfigurieren ...)

Exception 'yii\base\InvalidConfigException' with message 'You should configure "authManager" component to use database before executing this migration.'

Die authManager ist in der Konfiguration, aber ich immer noch, dass Fehler. Konfiguration:

'components' => [ 
    ... 
    'db' => $db, 
    'authManager' => [ 
     'class'  => 'yii\rbac\DbManager', 
     //   'defaultRoles' => ['guest'], 
    ], 
    ... 
], 

Was ist das Problem?

Antwort

37

Problem war ziemlich einfach: Die Konfiguration wurde nicht verwendet. yii migrate ist ein Konsolenbefehl und normalerweise wird die Konfiguration für solche Befehle in einer separaten Datei gespeichert.

Bei yii2-app-Basis Vorlage, aus dem ich meine Anwendung erstellt haben, gibt es eine config/console.php Konfigurationsdatei an, die authManager deklariert werden muss. Es reicht nicht aus, es nur in der config/web.php deklariert zu haben.

Bei yii2-App-erweitern die authManager sollten in console/config/main.php und nicht in den Backend oder Frontend-Konfigurationsdateien deklariert werden.

+0

danke! Es war das gleiche Problem für mich. –

+0

Vielen Dank, ich hatte das gleiche Problem! – Yerke

+0

Dann, warum [offizielles Dokument] (http://www.yiiframework.com/doc-2.0/guide-security-authorization.html) sagte dies: Im Falle yii2-advanced-app sollte der AuthManager nur einmal gemeinsam erklärt werden /config/main.php. –

Verwandte Themen