Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
FuelPHP SimpleAuth登录不在IE中工作_Php_Internet Explorer_Authentication_Fuelphp - Fatal编程技术网

FuelPHP SimpleAuth登录不在IE中工作

FuelPHP SimpleAuth登录不在IE中工作,php,internet-explorer,authentication,fuelphp,Php,Internet Explorer,Authentication,Fuelphp,FuelPHP的SimpleAuth登录显然是IE唯一的问题。它在本地主机上运行良好,但在我正在处理的站点的登台版本上,Auth::check()登录后总是失败 如果在验证登录表单时转储Auth::check()的内容,则会得到true,表明用户已成功登录。但是,在我将用户重定向到下一页(使用Response::redirect)之后,Auth::check()再次计算为false。我不认为问题与重定向直接相关,因为即使我不重定向用户,登录仍然失败 出于某种原因,这个问题似乎只发生在IE中(8和

FuelPHP的SimpleAuth登录显然是IE唯一的问题。它在本地主机上运行良好,但在我正在处理的站点的登台版本上,
Auth::check()
登录后总是失败

如果在验证登录表单时转储
Auth::check()
的内容,则会得到
true
,表明用户已成功登录。但是,在我将用户重定向到下一页(使用
Response::redirect
)之后,
Auth::check()
再次计算为
false
。我不认为问题与重定向直接相关,因为即使我不重定向用户,登录仍然失败

出于某种原因,这个问题似乎只发生在IE中(8和9)。在Opera、Firefox等中,用户登录和注销都可以正常工作。正如我之前所说的,它在IE中也可以在我的本地开发版本上运行。我只能认为这一定是一些cookie或会话处理问题,但我不知道问题出在哪里。如果有人能告诉我这件事,我将不胜感激


我使用的是FuelPHP 1.1版

我整天都在处理同一个问题,最后我解决了它

在我的例子中,问题出在Safari/Mac上,每次登录后会话都会被终止。事实上,这是因为我使用ajax调用(在服务器上使用相对路径)登录我的用户,而ajax调用显然发送了一个与http调用不同的用户代理,不匹配导致Fuel终止会话

我使用的解决方案是在会话配置中禁用
match\u ua
值。 为了使事情更加安全,我启用了
match\u ip
。我不知道这是不是个好办法


我仍然不知道为什么用户代理会有所不同。如果有人能让我更清楚地了解这个问题,非常感谢。

当用户成功登录时,我相信会设置会话变量。启用探查器并查看IE和FF,以了解发生了什么。确定。请原谅延迟:分析器似乎不想在IE8中工作。但在IE9中:没有会话变量。在FF和Opera中,加载了2个会话变量(用户名和登录\u哈希)。检查IE中是否启用了cookie。我认为必须启用cookie,因为正如我所说的,登录我的本地版本的站点没有问题。此外,我还可以转储PHP$\u COOKIE全局变量的内容,它不是空的。更新:我发现从其他人的计算机(不是在我的网络上)使用该登录时,该登录正在工作。但我这里有两台电脑无法登录。我猜这表明这是某种网络问题,但我完全不明白这可能是什么,或者为什么它只会影响IE。