我正在使用asp.net 4.0和asp.net MVC 2.0以及asp.net会员提供商。
我需要在删除之前终止用户会话。否则,如果用户在下次访问页面时仍处于身份验证状态,则在尝试访问用户数据和配置文件时将发生引用异常。
我得到了Session.Abandon()方法,但我在寻找的是用户相同的东西,比如user.AbandonSessions()。
我意识到之前已经问过这个问题,但我无法得到一个直接的答案。
由于
答案 0 :(得分:1)
您可以使用自定义成员资格提供程序,而不是删除帐户,只需将其停用即可。您也可以让自定义成员资格提供程序同时锁定帐户。
答案 1 :(得分:1)
我想你可能会在风车上倾斜。有太多事情违背了你期望的目标。
如果您调整视角以接受基于浏览器的应用程序的任意性质,而不是尝试根除用户状态的所有痕迹以避免错误,而是采取措施确保会话中存在所需的数据如果没有,则重新创建它或将用户重定向到适当的位置。
在任何情况下,请记住,为了能够有效地影响任何与会话相关的操作,您必须强制执行请求周期以确保浏览器正确处理cookie,但这不是我想要做的。
祝你好运。答案 2 :(得分:0)
FormsAuthentication.SignOut();
但您需要在要退出的用户的上下文中调用它。