【发布时间】:2016-07-09 04:29:48
【问题描述】:
我想要做的是将用户 ID 限制为一次只能登录一台设备。例如,用户 ID“abc”登录到他们的计算机。用户 ID“abc”现在尝试从他们的手机登录。我想要发生的事情是终止他们计算机上的会话。
我正在使用 Asp.net mvc 身份成员身份并为此使用 SecurityStamp。这是我在帐户/登录操作中的代码:
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
var user = UserManager.FindByEmail(model.Email);
var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
await UserManager.UpdateSecurityStampAsync(user.Id);
根据UpdateSecurityStampAsync 方法文档说:为用户生成一个新的安全标记,用于SignOutEverywhere 功能。但它不起作用。
【问题讨论】:
标签: c# asp.net-mvc asp.net-identity