Yii user组件-注册,登录,退出登录

Yii2  高级版自带user组件
初始化数据库的时候生成了user表,当使用注册的时候,观察这张表会有新的数据加入。(目前版本(2.0.44) Yii注册集成了Email验证激活功能,如果没有配置email的,可以把user表的中status值改为10,就可以登录了。


首先user组件默认的是配置在应用的的config文件夹下面的main.php

'components' => [
    ...
   
    'user' => [
        'identityClass' => 'common\models\User',
        'enableAutoLogin' => true,
        'identityCookie' => ['name' => '_identity-frontend', 'httpOnly' => true],
    ],
    ...

因为这里是Yii自带的组件(不需要指定位置 ,实际位置是 yii\web\user)
这个组件一定需要配置的参数就是 实现 yii\web\IdentityInterface 认证接口的类,这里就是user表的model,后面一个参数是允许自动登录和登录认证相关的Cookie参数

所以打开 common\models\User 类 会发现除了集成ActiveRecord,还实现了 IdentityInterface认证方法,这里就不一一讲了,大家有空可以看看权威指南

在controller 的action 中的使用

// 当前用户的身份实例。未认证用户则为 Null 。
$identity = Yii::$app->user->identity;
// 当前用户的ID。 未认证用户则为 Null 。
$id = Yii::$app->user->id;
// 判断当前用户是否是游客(未认证的)
$isGuest = Yii::$app->user->isGuest;



//退出登录
Yii::$app->user->logout();

至于注册和登录 大家可以在 SignupForm和LoginForm.php中查看代码

继续阅读

更多内容请付费阅读

评论区
登陆 后评论!