yii2-user 使用方式

参考文档:https://www.yiiframework.com/...$identity-detail

user models

<?php

namespace app\models;

use dektrium\user\models\User as BaseUser;

use Yii;
class User extends BaseUser  // 这记得要继承
{

}

配置 web.php components

    'user' => [
        'identityClass' => 'app\models\User',
        'loginUrl' => ['site/login'],
        'enableAutoLogin' => true,
    ],

d

配置 web.php modules

    'modules' => [
        'v1' => [
            'class' => 'app\modules\v1\Module',
        ],
        'admin' => [
            'class' => 'mdm\admin\Module',
            'layout' => 'left-menu',//yii2-admin的导航菜单
            
        ],
        // 'rbac' => 'dektrium\rbac\RbacWebModule',
        'rbac' => [
            'class' => 'dektrium\rbac\Module',
        ],
        'user' => [
            'class' => 'dektrium\user\Module',
            'enableRegistration' => false,
            'enableConfirmation' => false,
            'enableUnconfirmedLogin' => true,
            'enablePasswordRecovery' => true,
            'confirmWithin' => 21600,
            'rememberFor' => 1209600, //如果没有点击记住密码则默认保持1天的登录时间
            'admins' => ['admin'],
            'modelMap' => [
                'User' => 'app\models\User',
                // 'Profile' => 'app\models\Profile',
            ],
        ],
    ],

使用

Yii::$app->user->login($user, $duration);
此时可以

在全局可以直接获取用户的信息

获取id

Yii::$app->user->identity->id

获取用户名

Yii::$app->user->identity->name

西树先森
7.1k 声望926 粉丝

从事开发多年,前端、后端(go、Python、php)、服务架构都有涉猎,经历过大公司、创业公司,擅长前端及公司技术选型。