文章來源:http://blog.sina.com.cn/s/blog_88a65c1b0101ix13.html
判斷用戶是否登錄
在 Yii2.0 里面,判斷用戶是否已經登錄,我們用下面的代碼即可
Yii::$app->user->isGuest;
示例:如果用戶已經登錄,直接調用 goHome() 方法
if (!\Yii::$app->user->isGuest) {
return $this->goHome();
}
獲取登錄用戶名
在 yii2.0 里面,獲取登錄狀態下的用戶名稱,可以用下面的代碼。
Yii::$app->user->identity->username;
用戶退出操作我們用下面的方法
$this->user->logout();
使用示例:
public function actionLogout()
{
Yii::$app->user->logout();
return $this->goHome();
}
下面是 logout() 方法的詳細代碼,可以做了解
public function logout($destroySession = true)
{
$identity = $this->getIdentity();
if ($identity !== null && $this->beforeLogout($identity)) {
$this->switchIdentity(null);
$id = $identity->getId();
$ip = Yii::$app->getRequest()->getUserIP();
Yii::info("User '$id' logged out from $ip.", __METHOD__);
if ($destroySession) {
Yii::$app->getSession()->destroy();
}
$this->afterLogout($identity);
}
return $this->getIsGuest();
}