Internet explorer IE的奇怪cakePHP身份验证问题(登录不工作)
我在这里面临一个奇怪的问题 我使用的是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(){ } 蒂纳克斯,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:它在日志中也是正确的
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');