"मूल" एप्लिकेशन टेम्पलेट का उपयोग करके, मुख्य साइट लॉगिन से अलग मॉड्यूल लॉगिन सेट करने का सही तरीका क्या है?Yii2 - मूल अनुप्रयोग टेम्पलेट में मॉड्यूल लॉगिन
उदाहरण के लिए मेरे पास एक "व्यवस्थापक" मॉड्यूल है जिसके लिए लॉगिन की आवश्यकता है। मुझे मुख्य साइट के लिए उपयोगकर्ता लॉगिन की भी आवश्यकता है।
मैंने किया है निम्नलिखित:
- बनाया
admin
gii
उपकरण का उपयोग मॉड्यूल - बनाया
models
admin
मॉड्यूल फ़ोल्डर - रखा
LoginForm.php
औरUser.php
इस फ़ोल्डर के भीतर भीतर फ़ोल्डर (भी नाम स्थान घोषणाओं अद्यतन इन फ़ाइलों) - जोड़ा गया
AccessControl
व्यवहार और लॉगिन/लॉगआउट क्रियापर अपडेट किया गया
config\web.php
इस प्रकार है:'modules' => [ 'admin' => [ 'class' => 'app\modules\admin\Module', ], ],
अपडेट किया गया
app\modules\admin\Module.php
इस प्रकार है:public function init() { parent::init(); Yii::$app->set('user', [ 'class' => 'yii\web\User', 'identityClass' => 'app\modules\admin\models\User', 'enableAutoLogin' => true, 'loginUrl' => ['admin/default/login'], ]); Yii::$app->set('session', [ 'class' => 'yii\web\Session', 'name' => '_adminSessionId', ]); }
समस्या मैं कर रहा हूँ है कि अगर मैं जब मैं एक व्यवस्थापक पृष्ठ तक पहुँचने का प्रयास लॉग इन नहीं किया गया है, यह लॉगिन फॉर्म दिखाता है (यह सही है)। हालांकि लॉग इन करने पर, यह मुझे वापस मुख्य साइट पर रीडायरेक्ट करता है। इसे मुझे उस व्यवस्थापक पृष्ठ पर रीडायरेक्ट करना चाहिए जिसे मैं एक्सेस करने का प्रयास कर रहा था।
if ($model->load(Yii::$app->request->post()) && $model->login())
return $this->goBack();
कर इस तो मैं व्यवस्थापक मॉड्यूल के लिए और मुख्य साइट के लिए स्वतंत्र लॉगिन कर सकते हैं करने का सही तरीका क्या है:
DefaultController.php
में, यह निम्नलिखित (डिफ़ॉल्ट कोड) है? मैं "उन्नत एप्लिकेशन टेम्पलेट" का उपयोग नहीं करना चाहता क्योंकि इसमें कुछ अनावश्यक जटिलता शामिल है।
उन्नत आवेदन करने के लिए स्विच, यह इस लिए बनाया गया था और यह एक उन्नत एक के लिए एक बुनियादी आवेदन को बदलने के लिए काफी आसान है। आप बाद में वाईआई में अच्छे लोगों का शुक्रिया अदा करेंगे। –