2015-05-27 19 views
13

here açıklandığı gibi Kullanıcı kimlik doğrulama tablolarını oluşturmak için geçişi yapmaya çalışıyorum. Ben hata alıyorum Ancak:Yii2: RBAC geçişi gerçekleştirilemiyor ("authManager" ı yapılandırmalısınız ...)

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

AuthManager yapılandırmasında mevcut ama yine de o hata alıyorum. Yapılandırma:

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

Sorun nedir?

cevap

37

Sorun oldukça basitti: Yapılandırma kullanılmadı. yii migrate bir konsol komutudur ve genellikle bu tür komutların yapılandırması ayrılmış bir dosyaya yerleştirilir. Başvurumu oluşturduk hangi yii2-uygulama-baz şablonun durumunda,

, AuthManager ilan edilmesi gereken bir config/console.php yapılandırma dosyası vardır. Sadece bildirilen config/web.php'da olması yeterli değildir.

yii2-uygulama-ileri AuthManager console/config/main.php beyan ve gerektiği durumda değil arka uç veya önyüz yapılandırma dosyalarında.

+0

Teşekkürler! Benim için aynı sorun vardı. –

+0

Çok teşekkür ederim, aynı problemi yaşadım! – Yerke

+0

Öyleyse neden [resmi belge] (http://www.yiiframework.com/doc-2.0/guide-security-authorization.html) şunu söylemiştir: yii2-advanced-app durumunda authManager sadece bir kez ortak olarak bildirilmelidir /config/main.php. –