gpt4 book ai didi

CakePHP:保存后更新 session 变量

转载 作者:行者123 更新时间:2023-12-02 16:14:01 25 4
gpt4 key购买 nike

我有一个 User 对象,在成功进行身份验证后,该对象将被隐藏到 session 中(无安全信息),以便于调用并确定我们是否有经过身份验证的用户或匿名 session 。用户可以通过多种途径更改他或她的部分或全部信息,我希望使该 session 值保持最新。显而易见的答案是更新 afterSave() 回调中的值,但这当然违反了 MVC。

是否有另一种方法可以捕获一个地方的每个更改,这样我就不必在各处删除 session 写入?我想不出什么,也找不到任何其他想法。我是唯一一个尝试做这样的事情的人吗?

谢谢。

最终解决方案:坦率地说,我将 neilcrookes 的回复标记为答案,因为似乎没有更好的方法。不过,由于这种方式违反了我的强制症感觉,所以我采取了略有不同的道路。我决定让我的 User::authenticate() 方法将经过身份验证的用户对象返回给调用者,以便它可以对其执行任何操作。调用者“想要”做的事情之一就是在 session 中删除该值。这是冗余,但非常非常有限。在我看来,这比从模型访问 session 感觉更好(尽管如果你这样做,那肯定是该死的,如果你不场景,那肯定是该死的)。

最佳答案

//in users controller 
if ($this->User->save()) {
$this->Auth->login($this->User->read());
$this->Session->setFlash[.. etc]

郑重声明,我不同意 neilcrooks 的回答,但我不会喂食巨魔。

关于CakePHP:保存后更新 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/965815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com