我想知道如何在用户更新信息后重新加载阵列(Auth.User)。
目前,这种情况不会发生,直到用户注销,然后重新登录,因为这是当它加载阵列(验证用户)。
到目前为止,我已经尝试了几个解决方案such as。
我也尝试过将$user = $this->User->field('name', array('User.id' => $this->Session->read('Auth.User.id'))); $this->Session->write('Auth.User', $user);
添加到应用程序控制器中。
但都没有成功。
谢谢
2条答案
按热度按时间v1l68za41#
你就快完成了。记住返回的数组
$user
包含一个'User'键,例如:因此,将其保存到
Auth.User
下的会话实际上将保存会话数组,如下所示:相反,将其保存到Auth密钥中,您可以继续正常访问它:
现在会话密钥已经被清除,有一种更简单、更快的方法来重新登录用户,正如mark在注解中所说的:请使用
$this->Auth->login()
。guykilcj2#
在我的例子中,我使用的是CakePHP 4,
我已经加载了身份验证组件。
我正在使用此代码刷新我的身份验证信息。
现在,您可以使用以下命令获取登录用户的数据...