如果我运行登录功能,则会打印User
。
public function actionLogin(){
if ($model->load(Yii::$app->request->post()) && $model->login()) {
if (Yii::$app->user->isGuest) {
echo "guest";
} else {
echo "User";
}
return $this->redirect(['dashboard']);
}
重定向后如果我运行仪表板功能,则会打印guest
。
public function actionDashboard()
{
if (Yii::$app->user->isGuest) {
echo "guest";
} else {
echo "User";
}
}
我的Login
型号:
public function login()
{
if ($this->validate()) {
return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600 * 24 * 30 : 0);
} else {
return false;
}
}
这是getUser
函数:
protected function getUser()
{
if ($this->_user === null) {
$this->_user = Customer::findByEmail($this->email);
}
return $this->_user;
}
请帮我检查另一个功能,无论用户是否已登录?
答案 0 :(得分:0)
我成功解决了这个问题。
只需更改后端/ config / main.php或frontend / config / main.php
更改此
'components' => [
'user' => [
'identityClass' => 'common\models\Customer', //or Any models you want
'enableAutoLogin' => true,
],
]