Cakephp身份验证在Internet Explorer 8和Chrome中不起作用


Cakephp Authentication not working in Internet Explorer 8 and Chrome

我遵循了设置简单身份验证的教程(http://book.cakephp.org/2.0/en/tutorials-and-examples/blog-auth-example/auth.html)我在使用Internet Explorer 8和Chrome时遇到了问题。每当我尝试登录时,它总是将我重定向到登录页面。这只适用于Firefox。这可能是cookie问题吗?我不知道如何解决这个问题。

编辑:我意识到这只适用于Firefox。我在Config文件夹下的core.php文件中添加了一行来禁用checkAgent,但它仍然不起作用。

我不能确定这是不是同样的问题,但它可能在未来有用。。。你在主机上查过日期了吗?

当cookie的日期不正确时(在我的虚拟机环境中经常发生这种情况),Chrome会正确地拒绝它,这会导致PHP会话变量丢失。火狐更为宽容。

这是一个简单的解决方案,而且它在过去不止一次让我出局!

应用程序控制器示例:https://github.com/hugodias/cakeStrap/blob/master/app/Controller/AppController.php

用户控制器示例:https://github.com/hugodias/cakeStrap/blob/master/app/Controller/UsersController.php

用户模型示例:https://github.com/hugodias/cakeStrap/blob/master/app/Model/User.php

登录表单示例:https://github.com/hugodias/cakeStrap/blob/master/app/View/Elements/form_login.ctp

在所有浏览器中工作

经过进一步调查,这是一个环境问题。我在Ubuntu 11.04虚拟机中运行我的webserver/mysql数据库。我注意到出现了一些非常奇怪的问题。当我创建了一个新的虚拟机并加载了我的项目文件时,一切都正常运行。这很奇怪。