【发布时间】:2012-04-20 21:58:45
【问题描述】:
在我的 ASP.NET MVC 3 应用程序中,当我在我的登录操作中选中我的记住我框时,它应该创建一个持久性 cookie,因此当我关闭浏览器并重新打开它时,我应该仍然登录:
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
当我使用 Fiddler 时,我可以看到会话 ID 是这样发送的:
Request sent 342 bytes of Cookie data:
ASP.NET_SessionId=<Session ID>; .ASPXAUTH=<Auth String>
但是当我关闭浏览器并重新打开它时,我仍然登录,但请求没有发送会话 ID:
Request sent 298 bytes of Cookie data:
.ASPXAUTH=<Auth String>
然后我将Response.Write(Session.SessionID) 放入我的操作中,并且每次我重新打开浏览器后刷新页面时都会更改。如果我不关闭浏览器,那么每次刷新时会话 ID 都保持不变。
我使用StateServer 来保存会话状态,因为我认为这可能会解决问题,因为我也使用InProc 体验过。
【问题讨论】:
标签: c# asp.net-mvc-3 forms-authentication