我正在构建一个asp.net mvc应用程序。 我希望会话一旦用户登录就永不过期,除非用户点击退出。
最好的办法是什么?
我用过
FormsAuthentication.SetAuthCookie(userName, createPersistentCookie);
并将createPersistentCookie设置为true,但我仍然会在一段时间后退出。
答案 0 :(得分:6)
实施滑动过期。将到期时间保留在合理的值 - 一天,两周,最大值;每次请求(最简单)或以特定间隔更新cookie。
答案 1 :(得分:1)
FormsAuthentication cookie使用超时值来确定过期时间。 createPersistentCookie标志只是告诉API设置一个expires值,而不是允许cookie在浏览器关闭时过期。要防止过期,请在web.config中增加表单身份验证超时值。该值以分钟为单位,因此要强制cookie持续一年,请使用525600。