我在CakePHP中的身份验证存在问题。无论我尝试什么,Cake都会告诉我,每次请求后我都会被取消身份验证,要么我仍然经过身份验证,即使我之前关闭了浏览器。
我将用几句话解释我的身份验证系统是如何工作的。用户登录,选中是否remember me
复选框。如果已选中,我将创建一个cookie,以便用户在下次访问该站点时自动登录。基本上,当用户关闭浏览器时,我需要删除浏览器中所有会话cookie Cake存储。这样,当用户回来时,如果他不想被记住,他会看到登录页面,或者如果他选择存储它,则会自动从remember me
cookie登录。
问题是我使用了来自core.php的Session.timeout和Security.level,没有任何正面结果。如果我将超时设置为0,那么Cake会在每次请求后取消认证,但我无法查看任何页面。如果我为超时设置任何其他值,用户可能会关闭浏览器,当他重新打开它时,他仍然可以登录,因为Cake会话没有过期。
总之,如何在浏览器关闭时自动删除会话cookie?
答案 0 :(得分:3)
看看这篇文章也许可以帮助你,我也会用其他类似的东西。
请参阅:ini_set('session.cookie_lifetime', 0);