CakePHP删除Cookie问题

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了CakePHP删除Cookie问题脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我浏览过类似的其他人的问题,但似乎没有任何东西像我正在经历的那样.如果之前已经解决了这个问题,请随时引用我的另一篇文章.

用户进行身份验证以在本地存储一些基本用户信息时,我编写了一个cookie.当用户注销时,我试图删除cookie变量,但不会删除.如果我使用destroy方法,那么cookie就会被移除,但我很好奇我在这里做错了什么:

Cookie是这样写的并且正在工作:

function login(){
    if($this->Auth->LOGin($this->data)){
        $this->Cookie->wrITe('User.email',$this->data['User']['email'],true,'1 day');
    }
}

但是,使用删除功能不起作用……

function logout(){
    $this->Cookie->delete('User');
    if($this->Auth->logout($this->data)){
        //auto redirected
    }
}

如果我用destroy替换delete,它就可以了.这是不行的,因为cookie数据是加密的?我可能会做一些愚蠢的事,但我似乎无法弄明白.

我正在使用这个cookie来坚持会议.如果用户点击退出按钮,我只想删除它.

谢谢!

解决方法

查看代码,看起来这可能是错误或预期的行为.

Cookiecomponent类有一个内部__values数组,用于跟踪cookie信息.如果你调用delete(‘User.email’),它将从__values数组中删除’User’索引,包括索引下的所有数据.

但是,它只会取消设置名为“用户”的cookie.下次Cake启动时,会看到名为“User.email”的cookie仍然存在并将其加载回__values数组.

假设它不是预期的行为,我写了一个修复程序,我将继续将其提交给Cake团队.

脚本宝典总结

以上是脚本宝典为你收集整理的CakePHP删除Cookie问题全部内容,希望文章能够帮你解决CakePHP删除Cookie问题所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。