我在我的 asp.net 4.0 应用程序(从 .NET 1.1 升级)中使用 Forms 身份验证。我显式地创建了 FormsAuthenticationTicket 对象,然后对其进行加密(使用 FormsAuthentication 方法),并将其以 cookie 的形式发送给客户端。我使用 FormsAuthentiation.RenewTicketIfExpired() 来设置身份验证 cookie 的滑动到期。
我可以使用 Fiddler 找出在 FormsAuthenticationTicket 超时中途发布的新会话 cookie。
如果表单验证超时 = 2 分钟,会话超时 = 20 分钟
IE
hh:mm:ss
10:00:00 用户登录
10:01:10 回发发生
然后将重新创建一个新会话并注销。但我将会话设置为每 20 分钟超时一次。我尝试了不同的表单身份验证超时值,并且总是在超时的中途创建一个新会话。
我需要将表单验证超时设置为一个非常大的值以避免这种情况发生。
从.NET 1.1升级之前没有这个问题
有人知道为什么吗?这是在 asp.net 4.0 中处理滑动到期的错误吗?