Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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
忽略asp.net表单身份验证超时设置_Asp.net_Authentication_Timeout - Fatal编程技术网

忽略asp.net表单身份验证超时设置

忽略asp.net表单身份验证超时设置,asp.net,authentication,timeout,Asp.net,Authentication,Timeout,在web.config中,我将表单身份验证配置如下: <authentication mode="Forms"> <forms loginUrl="~/Account/Login.aspx" timeout="20" slidingExpiration="true"/> </authentication> 最初,ASPXAUTH cookie设置正确。使用Firefox的cookie查看器,我可以看到cookie,有效

在web.config中,我将表单身份验证配置如下:

<authentication mode="Forms">
    <forms loginUrl="~/Account/Login.aspx"
        timeout="20"
        slidingExpiration="true"/>
</authentication>
最初,ASPXAUTH cookie设置正确。使用Firefox的cookie查看器,我可以看到cookie,有效期为20分钟

滑动过期还可以在添加20分钟后正确设置更新的cookie

但在此之后,任何新的http请求,即使在接下来的5分钟内发出,也将导致302错误,并重定向到Login.aspx,就好像身份验证已过期一样

申请详情如下: 目标asp.net 4 iis 7.5 共享主机,但专用池回收没有帮助。 Login.aspx使用asp登录控件进行身份验证,无需自定义cookie


有什么想法吗?

这可能有很多原因

这也发生在你的本地机器上吗?您是否在web.config中配置了与本地主机环境不匹配的httpCookie域

您是否配置了machinekey验证/加密?这在负载平衡的场景中可能很重要

您是否在IIS中使用动态内容缓存

查看您的事件日志。默认情况下,基于失败表单身份验证的302个错误记录在那里。是否有任何条目说明您被视为未经身份验证的原因?这有助于确定票证过期、无法解密等根本原因


还要记住,表单身份验证cookie的过期时间不会在每个请求上延长。表单身份验证cookie在您的案例中超过50%的原始超时10分钟后刷新。因此,请适当配置会话超时。

1否,在本地计算机中,一切正常。2我没有使用machineKey,但我目前正在测试。3 FWIW,我的主机回复说我不能使用会话,因为这是共享主机。但是我只使用表单身份验证,没有会话变量。表单身份验证是否依赖于会话?如果是这样的话,有没有其他方法来配置它?没有,但是人们经常看到会话生存时间与身份验证相连接。因此,如果会话超时,表单身份验证cookie将被删除。但是,如果所述问题仅存在于服务器上,您是否已将http CookieDomain添加到web.config中?另外,请检查成功登录后的响应标头是否包含设置的Cookie密钥。此外,如果您在登录后单击页面,cookie应该是请求头的一部分。Firefox的网络监视器显示cookie是每个请求的一部分。不管怎么说,我已经加入了machineKey,到目前为止我已经做到了。。。