Quello che voglio fare è limitare un ID utente alla sola possibilità di accedere a un dispositivo alla volta. Ad esempio, l'ID utente "abc" accede al proprio computer. L'ID utente "abc" ora tenta di accedere dal proprio telefono. Quello che voglio succedere è uccidere la sessione sul loro computer.Asp.net identità mvc SecurityStamp signout ovunque
Sto utilizzando l'appartenenza Identity mvc di Asp.net e utilizzo di SecurityStamp per questo scopo. Questo è il mio codice Account azione/Login:
[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);
Secondo il metodo doc UpdateSecurityStampAsync
dice: generare un nuovo timbro di sicurezza per un utente, utilizzato per la funzionalità SignOutEverywhere. Ma non funziona.
Sì. E 'un colpo di database in più su ogni richiesta – tmg
provare UpdateSecurityStampAsync prima di PasswordSignInAsync – tmg
Non riesci a disconnetterti o su altri dispositivi l'utente non ottiene il logout? – tmg