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中查看代码
更多内容请付费阅读
评论区
请登陆 后评论!