除非用户单击注销,否则会在stackoverflow.com上永不过期的会话

时间:2010-07-16 02:57:03

标签: asp.net-mvc session

我正在构建一个asp.net mvc应用程序。 我希望会话一旦用户登录就永不过期,除非用户点击退出。

最好的办法是什么?

我用过

FormsAuthentication.SetAuthCookie(userName, createPersistentCookie);

并将createPersistentCookie设置为true,但我仍然会在一段时间后退出。

2 个答案:

答案 0 :(得分:6)

实施滑动过期。将到期时间保留在合理的值 - 一天,两周,最大值;每次请求(最简单)或以特定间隔更新cookie。

答案 1 :(得分:1)

FormsAuthentication cookie使用超时值来确定过期时间。 createPersistentCookie标志只是告诉API设置一个expires值,而不是允许cookie在浏览器关闭时过期。要防止过期,请在web.config中增加表单身份验证超时值。该值以分钟为单位,因此要强制cookie持续一年,请使用525600。