我如何使MVC注销登录的用户

本文关键字:登录 用户 注销 MVC 何使 | 更新日期: 2023-09-27 18:27:34

我知道,当用户登录MVC Web应用程序时(当运行时执行FormsAuthentication.SignIn(..)时),该用户会收到一个cookie,并继续使用该cookie处理网站。

但是,用户可以从隐姓埋名窗口或另一台电脑再次登录,并同时从两个地方访问该网站。我想阻止他那样做。

我相信这个问题的解决方案就在某个地方,无论是在谷歌上搜索还是在MVC Forms Authentication类中挖掘,我都无法使用任何东西。

那么,当用户成功尝试在新的地方登录时,我如何强制注销最后一个用户登录信息(我认为这是存储在web服务器中的cookie,我可能错了)?

我如何使MVC注销登录的用户

您需要实现

Application_AuthenticateRequest

在global.asax文件中,验证用户标识是否仍然正确。例如,您需要跟踪与用户相关的所有会话以及他使用的客户端。如果你想注销用户,你可以用上面提到的方法重置cookie。

实现这一点的唯一方法是将用户登录信息存储在表中。因此,当用户尝试再次登录时,您可以通过查询表来验证他是否登录了其他位置。用户注销后,从表中删除行。

请记住,如果没有饼干的帮助,你将无法做任何事情。Cookie将只包含表单身份验证票证,身份验证模块将使用该票证来验证即将到来的请求是否经过身份验证。由于调用是无状态的,您不能仅通过查看cookie 来决定任何事情