ASP.Net Identity Force 从 SQL 注销
ASP.Net Identity Force Logout From SQL
我正在为我的 MVC 5 应用程序使用 ASPNET Identity table。每天晚上我们在数据库上执行 "maintenance"。如果我们修改该用户下的某些内容,我想停用他们当前的会话,以便他们在 Web 应用程序中执行的下一个操作会将他们踢回登录屏幕。 authentication/authorization 已经使用 AspNet.Identity 内置到我的应用程序中。如果它存在,我只需要一种通过设置标志来唤醒它的方法。
例如 ASPNETUsers table 有一个 "Inactive" 列,但那太永久了。我正在寻找 "ThisGuyIsLoggedIn" 列。
这与同一个问题很接近,但答案是从 MVC 中管理它,这不是一种选择。
forcefully log out a specific user among all online users
在玩过一些我意识到的列之后,您可以更改 SecurityStamp 列,这将使用户无效并导致任何身份验证失败。只是不要将其更改为 NULL。
UPDATE AspNetUsers
SET SecurityStamp = NEWID()
WHERE Id = @USER_ID
我想分享这个 link,并详细说明如何强制用户注销。
https://tech.trailmax.info/2015/09/prevent-multiple-logins-in-asp-net-identity/
github 上的完整项目:
https://github.com/shaahink/Prevent-Multiple-Login-ASPNETIdentity
如果您需要重置安全戳:
var result = await UserManager.UpdateSecurityStampAsync(user.Id);
从管理面板重置用户标记是非常好的解决方案。
我正在为我的 MVC 5 应用程序使用 ASPNET Identity table。每天晚上我们在数据库上执行 "maintenance"。如果我们修改该用户下的某些内容,我想停用他们当前的会话,以便他们在 Web 应用程序中执行的下一个操作会将他们踢回登录屏幕。 authentication/authorization 已经使用 AspNet.Identity 内置到我的应用程序中。如果它存在,我只需要一种通过设置标志来唤醒它的方法。
例如 ASPNETUsers table 有一个 "Inactive" 列,但那太永久了。我正在寻找 "ThisGuyIsLoggedIn" 列。
这与同一个问题很接近,但答案是从 MVC 中管理它,这不是一种选择。
forcefully log out a specific user among all online users
在玩过一些我意识到的列之后,您可以更改 SecurityStamp 列,这将使用户无效并导致任何身份验证失败。只是不要将其更改为 NULL。
UPDATE AspNetUsers
SET SecurityStamp = NEWID()
WHERE Id = @USER_ID
我想分享这个 link,并详细说明如何强制用户注销。
https://tech.trailmax.info/2015/09/prevent-multiple-logins-in-asp-net-identity/
github 上的完整项目: https://github.com/shaahink/Prevent-Multiple-Login-ASPNETIdentity
如果您需要重置安全戳:
var result = await UserManager.UpdateSecurityStampAsync(user.Id);
从管理面板重置用户标记是非常好的解决方案。