出于某种原因,登录后,用户详细信息会丢失。
我创建了一个Customer
类,使用此类实现了IdentityInterface
和扩展ActiveRecord
。
当客户登录时,客户已经过适当的身份验证。此时我注意到(使用var_dump)Yii::$app->user
已正确设置为相应的Customer
实例,我也注意到Yii::$app->session
已启用。这是在$model->login()
函数之后;其中$model
这里是事实LoginForm
的实例。
public function login()
{
if ($this->validate()) {
return Yii::$app->user->login($this->getCustomer(), $this->rememberMe ? 3600 * 24 * 30 : 0);
} else {
return false;
}
}
但是,在$this->goBack()
重定向后,我注意到Yii::$app->user
- 曾经是yii\web\User
的一个实例,其{class = 1}}处的identityClass现在是{{1} }}。我还注意到此时的会话(重定向后立即)是app/models/Customer
。
即使客户经过适当的身份验证,这意味着null
始终为null
。
如何通过重定向携带登录用户?