2015-05-27 7 views
13

यह here मैं क्रम में पलायन करने के लिए Yii उपयोगकर्ता प्रमाणीकरण टेबल बना जाने के लिए कोशिश कर रहा हूँ वर्णन किया गया है के रूप में। हालांकि मुझे त्रुटि मिलती है:Yii2: RBAC माइग्रेशन निष्पादित नहीं किया जा सकता (आप ... "authManager" कॉन्फ़िगर करना चाहिए)

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

authManager कॉन्फ़िगरेशन में मौजूद है लेकिन मुझे अभी भी वह त्रुटि मिलती है। कॉन्फ़िगरेशन:

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

समस्या क्या है?

उत्तर

37

समस्या काफी सरल थी: कॉन्फ़िगरेशन का उपयोग नहीं किया गया था। yii migrate एक कंसोल कमांड है और आमतौर पर ऐसे आदेशों के लिए कॉन्फ़िगरेशन अलग फ़ाइल में रखा जाता है।

yii2 एप्लिकेशन के आधार टेम्पलेट, जिसमें से मैं अपने आवेदन बनाया है के मामले में, वहाँ एक config/console.php विन्यास फाइल जहां authManager घोषित किए जाने की आवश्यकता है। config/web.php में केवल यह घोषित करने के लिए पर्याप्त नहीं है।

yii2, एप्लिकेशन के तहत उन्नत authManager console/config/main.php में घोषित किया जाना चाहिए और के मामले में बैकएंड या दृश्यपटल विन्यास फाइल में नहीं।

+0

धन्यवाद! यह मेरे लिए एक ही मुद्दा था। –

+0

आपको बहुत धन्यवाद, मुझे एक ही समस्या थी! – Yerke

+0

तो फिर [आधिकारिक दस्तावेज़] (http://www.yiiframework.com/doc-2.0/guide-security-authorization.html) ने कहा कि यह: yii2-उन्नत-ऐप के मामले में authManager आम में केवल एक बार घोषित किया जाना चाहिए /config/main.php। –

संबंधित मुद्दे