【发布时间】:2011-05-09 12:11:32
【问题描述】:
我在 CakePHP 中的身份验证有问题。无论我尝试什么,Cake 要么在每次请求后告诉我我已取消身份验证,要么我仍然通过身份验证,即使我之前关闭了浏览器。
我会用几句话解释我的身份验证系统是如何工作的。用户登录,是否选中 remember me 复选框。如果选中,我将创建一个 cookie,以便用户在下次访问该站点时自动登录。基本上,当用户关闭他的浏览器时,我需要删除 Cake 存储在浏览器中的所有会话 cookie。这样,当用户回来时,如果他不想被记住,他会看到登录页面,或者如果他选择存储它,则自动从 remember me cookie 登录。
问题是我同时使用了 core.php 中的 Session.timeout 和 Security.level,但没有得到积极的结果。如果我将超时设置为 0,Cake 将在每次请求后取消我的身份验证,因此我无法查看任何页面。如果我为 timeout 设置任何其他值,用户可能会关闭浏览器,当他重新打开它时,他仍然可以登录,因为 Cake 会话没有过期。
总之,如何在浏览器关闭时自动删除会话cookie?
【问题讨论】:
标签: authentication cakephp session-timeout session-cookies