Internet explorer IE的奇怪cakePHP身份验证问题(登录不工作)

Internet explorer IE的奇怪cakePHP身份验证问题(登录不工作),internet-explorer,cakephp-1.3,Internet Explorer,Cakephp 1.3,我在这里面临一个奇怪的问题 我使用的是cakephp1.3.6&对于ie6-7-8,它不允许我登录。我正在使用正确的凭据。用记录在日志中的数据进行测试 没有显示任何身份验证错误。(如果我使用了错误的凭据,则会显示身份验证错误,但对于正确的凭据,则不会显示任何内容:() 我已经通过将日志记录到error.log文件中,测试了auth组件的所有可能性 我检查了Auth->user方法。它填充Auth会话,但即使它没有将我重定向到所需的位置。 我还检查了authLoginurl:它在日志中也是正确的

我在这里面临一个奇怪的问题

我使用的是cakephp1.3.6&对于ie6-7-8,它不允许我登录。我正在使用正确的凭据。用记录在日志中的数据进行测试

没有显示任何身份验证错误。(如果我使用了错误的凭据,则会显示身份验证错误,但对于正确的凭据,则不会显示任何内容:()

我已经通过将日志记录到error.log文件中,测试了auth组件的所有可能性

我检查了Auth->user方法。它填充Auth会话,但即使它没有将我重定向到所需的位置。 我还检查了authLoginurl:它在日志中也是正确的

我已经检查了以下可能性

1) 更改了Core.php中的一些设置

--Session.checkAgent设置为false --安全级别设置为低 --Session.start设置为false

2) 将disableCache()用于登录操作,以避免在浏览器中缓存登录数据

3) 注销后,我已销毁会话

这是密码

beforeFilter中的应用程序控制器:

$this->Auth->loginAction=array('controller'=>'users','action'=>'login')

用户控制器beforeFilter():

函数beforeFilter(){

}

蒂纳克斯,
Vijay

我也遇到了同样的问题,它是一个不同的蛋糕版本,但也许这个解决方案会有所帮助

在配置中,我创建了一个带有以下值的
my_session.php
文件:

ini_restore('session.referer_check');
ini_set('session.use_trans_sid', 0);
ini_set('session.name', Configure::read('Session.cookie'));
ini_set('session.cookie_lifetime', 0);
// Cookie path is now '/' even if you app is within a sub 
// directory on the domain
$this->path = '/';
ini_set('session.cookie_path', $this->path);
ini_set('session.cookie_domain', env('HTTP_BASE'));
重要的部分是
$this->path
值,会话现在可用于整个域

在会话的
core.php
中添加:

Configure::write('Session.save', 'my_session');

希望这有帮助

这意味着,但没有说明,登录在其他浏览器中工作,但不是IE。这是正确的吗?你的意思是说登录。是的,登录可以在其他浏览器中使用,但不能在IE中使用。它的登录不能登录。抱歉,如果有任何混乱。登录意味着相同的事情:)嗯。。。但实际上它并没有将我重定向到AuthLoginurl路径…:(这并没有解决我的问题,它在chrome和firefox中工作得很好,但在IE和opera中却没有。这行代码在IE和opera中返回null:debug($This->Auth->user('name'));我正在使用cake php 2.3.5,并在IE 8和10上进行了测试
ini_restore('session.referer_check');
ini_set('session.use_trans_sid', 0);
ini_set('session.name', Configure::read('Session.cookie'));
ini_set('session.cookie_lifetime', 0);
// Cookie path is now '/' even if you app is within a sub 
// directory on the domain
$this->path = '/';
ini_set('session.cookie_path', $this->path);
ini_set('session.cookie_domain', env('HTTP_BASE'));
Configure::write('Session.save', 'my_session');