"基本"アプリケーションテンプレートを使用して、メインサイトのログインとは別のモジュールログインを設定する正しい方法は何ですか?Yii2 - 基本アプリケーションテンプレートのモジュールログイン
たとえば、ログインが必要な「admin」モジュールがあります。私はまた、メインサイトのユーザーログインが必要です。
私は次のことを行っている:
このフォルダ内LoginForm.php
と
User.php
を置き
admin
モジュールフォルダ
models
フォルダを作成しgii
ツールadmin
モジュールを作成し
- (も中に名前空間宣言を更新これらのファイル)
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', ]); }
私が午前の問題は、私はときに私の管理ページにアクセスしようとした場合ログインしていない場合は、ログインフォームが表示されます(これは正しい)。しかし、ログインすると、メインのサイトにリダイレクトされます。それは私がアクセスしようとしていた管理ページに私をリダイレクトする必要があります。 DefaultController.php
で
、それは以下の(デフォルトコード)を持つ:
if ($model->load(Yii::$app->request->post()) && $model->login())
return $this->goBack();
これを行うための正しい方法は、私が管理モジュール用とメインサイトのための独立したログインを持つことができるとは何ですか?私はいくつかの不必要な複雑さを追加するように "高度なアプリケーションテンプレート"を使用したくないです。
スイッチは、このために作られた、高度なものに基本的なアプリケーションを変換するために非常に簡単です。後でYiiの良い人に感謝します。 –