Yii2-基础框架分模块登录

Yii2 框架如果需要分模块登录的话,需要先在 config/web.php 的 components 中增加自己的组件并且指定 class 为 yii\web\User ,因为 Yii2 中的用户登录相关的逻辑存在于这个类中以下以模块 app\modules\admin 为例

$config = [
    'user' => [
            'identityClass' => 'app\models\User',
            'enableAutoLogin' => true,
    ],
    'admin' => [
         'class' => 'yii\web\User',
         'identityClass' => 'app\modules\admin\models\User',
         'enableAutoLogin' => true,
         'loginUrl'=>['admin/site/login'], //定义后台默认登录界面[权限不足跳到该页]
         'identityCookie' => ['name' => '_admin_identity', 'httpOnly' => true],
         'idParam' => '_admin'
    ]
]

models 中的 User 需要继承 ActiveRecord 并履行 IdentityInterface 接口

注意一定要将 models 中的 User 中的以下部分删除掉,否则会出现登陆后模板中无法通过 Yii::$app->admin->username 获取到用户名的情况

public $id;
public $username;
public $password;
public $authKey;
public $email;
public $accessToken;

模板及 models\LogFrom 中的 Yii::$app->user 更改为 Yii::$app->admin 即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章