我正在开发一个在IIS-8和Windows Server 2008 R2下托管的asp.net mvc-4 Web应用程序。 现在对于asp.net mvc我正在使用表单身份验证,它与我们的活动目录集成。 这是我们web.config中的相关实体: -
<membership>
<providers>
<add name="TestDomain1ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=4.0.0.0, 
 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应用程序时,他将输入用户名&amp;密码。如果他的凭证有效,将向他生成浏览器cookie,并保存在浏览器缓存中。因为我已经指定了超时=“40320”。这意味着浏览器cookie将在40320分钟后过期?它是否正确 ?因此,如果用户在首次登录后40320+分钟后尝试访问系统,那么IIS将看到传递的cookie已过期并将注销用户..这是正确的吗?
答案 0 :(得分:1)
https://msdn.microsoft.com/en-IN/library/1d3t3c61(v=vs.85).aspx
可选属性。 指定cookie过期的时间(以整数分钟为单位)。如果SlidingExpiration属性为true,则timeout属性是一个滑动值,在收到最后一个请求之后的指定分钟数到期。为了防止性能受损,并为打开cookie警告的用户避免多个浏览器警告,当超过指定时间的一半时间过去时,cookie会更新。这可能会导致精度损失。默认值为&#34; 30&#34; (30分钟)。