当用户通过我的登录页面登录时,我使用FormsAuthentication对它们进行身份验证,并设置一些包含用户特定信息的Sessions,如UserID和RoleID。我根据这些值设置网站内容。
问题是当会话到期且用户仍然登录时 - 事情搞砸了,因为会话为空但用户仍然登录。
如何让它们彼此保持同步,因此会话只有在退出或退出时才会过期。
谢谢。
答案 0 :(得分:0)
当会话在global.asax中结束(Session_OnEnd)时,您可以终止表单身份验证cookie。这样做会在任何后续请求时将用户重定向到默认页面(或登录页面,具体取决于您的设置方式)。当用户手动注销时,您也应该终止身份验证cookie - 效果相同。
要终止身份验证Cookie:
FormsAuthentication.SignOut();