0

我正在使用IIS-8和Windows Server 2008 R2托管的asp.net mvc-4 web应用程序。 现在为asp.net mvc我使用表单认证,这是与我们的活动目录集成。 这里是我们的web.config中的相关实体: -web.config中的<authentication>标签内的超时设置

<membership> 
    <providers> 
    <add name="TestDomain1ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=4.0.0.0, &#xA;   Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="TestDomain1ConnectionString" connectionUsername="*********" connectionPassword="******" attributeMapUsername="sAMAccountName" /> 

    </providers> 
</membership> 

<httpRuntime targetFramework="4.5" /> 
<authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login" timeout="40320" /> 
</authentication> 

现在我的问题是关于<forms>内的超时参数。现在我明白这个设置如下: -

当用户第一次登录到web应用程序时,他会输入用户名&的密码。如果他的凭据有效,则会为他生成一个浏览器cookie,并保存在浏览器缓存中。现在我已经指定了一个超时=“40320”。这意味着浏览器cookie将在40320分钟后过期?它是否正确 ?所以如果用户尝试从第一次登录40320多分钟后访问系统,则IIS会看到传递的cookie已过期并将注销用户。这是正确的吗?

回答

1

https://msdn.microsoft.com/en-IN/library/1d3t3c61(v=vs.85).aspx

可选属性。 指定cookie过期的时间,以整数分钟为单位。如果SlidingExpiration属性为true,则timeout属性为滑动值,在收到最后一次请求后的指定分钟数后到期。为防止性能受到损害,并避免启用cookie警告的用户发出多个浏览器警告,当超过指定时间的一半以上时,cookie会更新。这可能会导致精度损失。默认值是“30”(30分钟)。