1

我在 CakePHP 中的身份验证有问题。无论我尝试什么,Cake 要么在每次请求后告诉我我已取消身份验证,要么我仍然通过身份验证,即使我之前关闭了浏览器。

我将用几句话解释我的身份验证系统是如何工作的。用户登录,remember me选中或不选中复选框。如果选中,我将创建一个 cookie,以便用户在下次访问该站点时自动登录。基本上,当用户关闭他的浏览器时,我需要删除 Cake 存储在浏览器中的所有会话 cookie。这样,当用户回来时,如果他不想被记住,他会看到登录页面,或者remember me如果他选择存储它,则会自动从 cookie 登录。

问题是我使用 core.php 中的 Session.timeout 和 Security.level 都没有积极的结果。如果我将超时设置为 0,Cake 将在每次请求后取消我的身份验证,因此我无法查看任何页面。如果我为超时设置任何其他值,用户可能会关闭浏览器,当他重新打开它时,他可能仍然登录,因为 Cake 会话没有过期。

总之,我怎样才能在浏览器关闭时自动删除会话cookie?

4

1 回答 1

3

看看这篇文章可能会对你有所帮助,我将类似的东西用于其他目的。

http://bakery.cakephp.org/articles/admad/2009/09/02/how-to-bend-cakephp-s-session-handling-to-your-needs

看:ini_set('session.cookie_lifetime', 0);

于 2010-11-13T12:08:09.470 回答