首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Forms身份验证超时与sessionState超时

Forms身份验证超时与sessionState超时
EN

Stack Overflow用户
提问于 2013-07-23 22:24:16
回答 5查看 156K关注 0票数 153

我有代码,我正在寻找有关会话超时的网站。在web.config中,我遇到了这段代码。

代码语言:javascript
复制
 <authentication mode="Forms">
  <forms loginUrl="~/Auth/SignOn.aspx" timeout="40" slidingExpiration="true" />
</authentication>

<sessionState timeout="30" />

有没有人知道其中一个优先于另一个,以及它们有何不同。谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-07-23 22:32:44

它们是不同的东西。Forms身份验证超时值设置身份验证cookie设置为有效的时间(以分钟为单位),这意味着在value分钟数之后,cookie将过期,用户将不再接受身份验证-它们将被自动重定向到登录页。超时值基本上表示,只要用户在超时值内发出请求,他们就会继续接受身份验证(更多详细信息here)。如果设置为slidingExpiration=false,则无论用户是否在超时值内发出请求,身份验证cookie都将在value分钟后过期。

SessionState超时值设置会话状态提供程序在内存(或正在使用的任何后备存储区,SQL Server、OutOfProc等)中为特定会话保留数据所需的时间量。例如,如果您使用示例中的值将一个对象放入会话中,则此数据将在30分钟后删除。用户仍然可以被认证,但是会话中的数据可能不再存在。每次请求后,Session Timeout值都会被重置。

票数 249
EN

Stack Overflow用户

发布于 2013-07-23 22:33:16

不同之处在于,一个(表单超时)与用户身份验证有关,而另一个(会话超时)与缓存数据在服务器上存储的时间有关。所以它们是非常独立的东西,所以其中一个不会优先于另一个。

票数 7
EN

Stack Overflow用户

发布于 2016-06-30 00:04:55

代码语言:javascript
复制
      <sessionState timeout="2" />
      <authentication mode="Forms">
          <forms name="userLogin" path="/" timeout="60" loginUrl="Login.aspx" slidingExpiration="true"/>
      </authentication>

这种配置每隔两分钟就会将我发送到登录页面,这似乎与前面的答案相矛盾

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17812994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档