2012-06-21 48 views
0

当用户通过我的登录页面登录时,我使用FormsAuthentication对其进行身份验证,并设置一些保存用户特定信息的会话,如UserID和RoleID。我根据这些值设置网站内容。保持会话与FormsAuthentication同步

当会话过期并且用户仍处于登录的问题是 - 事情搞砸,因为会话为空,但用户仍然在签署

我怎样才能保持同步与每其他,所以会话只在他们退出或与

到期时谢谢。

回答

0

当global.asax中的会话结束(Session_OnEnd)时,您可以终止表单身份验证Cookie。这样做会在任何后续请求时将用户重定向到默认页面(或根据您如何设置登录页面)。当用户手动注销时,您还应该终止身份验证Cookie - 效果相同。

杀身份验证Cookie:

FormsAuthentication.SignOut(); 
+0

我得到一个空的例外,当我这样做,在Session_End中的事件。 – Rivka

+0

有没有其他想法? – Rivka

+0

您是否在会话中获得了空例外? – Jeremy