2014-03-12 88 views
19

我的MVC 5网站有web.config中像这样:MVC 5会话超时

<authentication mode="Forms"> 
    <forms name=".ADAuthCookie" loginUrl="~/Account/Login" 
     timeout="2880" slidingExpiration="true" protection="All" /> 
</authentication> 

但超时不起作用。无论我在这里给予什么价值都没有关系,它总是在20-30分钟后过期。我如何维护用户登录时间更长或直到他们登出?

有没有什么办法可以使用“In-Proc”来实现?或者我在这里失去了一些东西?

回答

27

您正在处理两个单独的问题,auth超时和会话超时。会话超时由web.config中的以下关键控制...

<system.web> 
    <sessionState mode="InProc" timeout="30" /> 
    </system.web> 

我不知道你遇到,但我怀疑这是你所遇到,而不是认证超时会话超时...尝试从您的表单标签中完全删除超时,看看是否给你你在找什么。

更多信息这里 - forms timeout issue in asp.net mvc

+2

这个我试过,但验证的登录等待,甚至超越了'timeout'时间后仍然有效。 –

+0

@OldGeezer我猜会话超时应该> =您的表单身份验证超时。 – Rachmaninoff