用户登录 - 登录

  • 作者:KK

  • 发表日期:2017.1.27


配置user组件

我们还要配置一下user组件,它是一个核心组件,默认的class是yii\web\User,我们要配置的是其它属性,示例如下:

'user' => [
	'identityClass' => 'app\models\User', //用户实体类,一般设定为用户表的AR模型类
	'enableAutoLogin' => true,
],

执行登录

有了IdentityInterface接口的实现类和配置,接下来做登录就是几句代码的事了

以下代码测试之前,先确认一下浏览器显示当前站点有哪些Cookie,确认完后再开始执行以下代码:

$user = \app\models\User::findOne($测试用户ID用户ID$app->user->login($user)){
	echo '登录成功!';
}

然后你会发现浏览器多了_identity这个Cookie


判断是否登录

上面登录成功后,以后要判断是否登录可以用user组件的isGuest属性来判断:

if(Yii::$app->user->isGuest){ //判断是否游客
	echo '游客身份';
	//Yii::$app->response->redirect('/login.html');
}else{
	echo '您已登录,用户ID是:' . Yii::$app->user->id;
}

退出登录

这就是一句代码的事情了:Yii::$app->user->logout()然后_identity这个Cookie就不见了,再访问isGuest也会返回true