2015-05-27 25 views
13

Vì được mô tả here Tôi đang cố thực hiện di chuyển để cho phép tạo bảng xác thực người dùng. Tuy nhiên, tôi gặp lỗi:Yii2: Không thể thực hiện di chuyển RBAC (Bạn nên định cấu hình "authManager" ...)

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

AuthManager có trong cấu hình nhưng tôi vẫn gặp lỗi đó. Cấu hình:

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

vấn đề là gì?

Trả lời

37

Sự cố khá đơn giản: Cấu hình không được sử dụng. yii migrate là một lệnh giao diện điều khiển và thường là cấu hình cho các lệnh như vậy được đặt trong một tệp riêng biệt.

Trong trường hợp yii2-app-base mẫu, từ đó tôi đã tạo ra ứng dụng của tôi, có một tập tin cấu hình config/console.php nơi authManager cần phải được khai báo. Nó không đủ để có nó trong các config/web.php tuyên bố chỉ.

Trong trường hợp yii2-app-tiên tiến các authManager cần được khai báo trong console/config/main.php và không có trong các tập tin cấu hình backend hay frontend.

+0

cảm ơn bạn! Đó là một vấn đề tương tự đối với tôi. –

+0

cảm ơn bạn rất nhiều, tôi đã có cùng một vấn đề! – Yerke

+0

Sau đó, tại sao [doc chính thức] (http://www.yiiframework.com/doc-2.0/guide-security-authorization.html) đã nói điều này: Trong trường hợp yii2-advanced-app, authManager chỉ được khai báo một lần chung /config/main.php. –

Các vấn đề liên quan