【问题标题】:Session timeout issue when using forms authentication使用表单身份验证时的会话超时问题
【发布时间】:2016-08-10 05:18:47
【问题描述】:
在 ASP.Net 中使用表单身份验证时如何设置(增加)会话超时?
我在web.config文件中设置如下,但是不起作用。
<configuration>
<system.web>
<sessionState timeout="60"></sessionState>
</system.web>
</configuration>
【问题讨论】:
标签:
asp.net
.net
web-config
【解决方案1】:
<sessionState> 的 timeout 属性是正确设置它的位置,如果您希望实际 Session 过期,但是由于您明确提到表单身份验证,您可能需要检查超时那个,因为两者是不同的。
您的意思是表单身份验证超时吗?
您可以通过调整 web.config 文件的 <authentication> 元素中的超时属性来调整应用程序中表单身份验证的特定超时属性。您还需要注意,如果您将 slidingExpiration 属性与超时结合使用,因为它们实际上可能比列出的超时更早到期。
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="~/Login.aspx" timeout="yourTimeoutInMinutes"></forms>
</authentication>
因此,如果您想将身份验证令牌保持“活动”的时间延长到 180 分钟(3 小时),您可以按如下所示进行设置:
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="~/Login.aspx" timeout="180"></forms>
</authentication>
考虑 IIS 中的空闲超时
如果您更新的配置属性似乎不起作用(因为空闲超时默认为 20 分钟),您可能还需要考虑设置 the Idle-Timeout property on your server within IIS。