web.config的<authentication>标记

时间:2016-02-29 12:33:24

标签: asp.net asp.net-mvc asp.net-mvc-4 session forms-authentication

我正在开发一个在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, &#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应用程序时,他将输入用户名&amp;密码。如果他的凭证有效,将向他生成浏览器cookie,并保存在浏览器缓存中。因为我已经指定了超时=“40320”。这意味着浏览器cookie将在40320分钟后过期?它是否正确 ?因此,如果用户在首次登录后40320+分钟后尝试访问系统,那么IIS将看到传递的cookie已过期并将注销用户..这是正确的吗?

1 个答案:

答案 0 :(得分:1)

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

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