Stavo cercando ma non sono riuscito a trovare una risposta a questa domanda: l'identità di aspnet fornisce un modo per evitare il login simultaneo dallo stesso account?identità aspnet evitare login simultaneo stesso account
7
A
risposta
9
identità non ha un modo integrato per monitorare gli accessi simultanei, ma si può fare un work-around: ogni volta che i log-in dell'utente, prima di impostare auth-cookie, il cambiamento dell'utente SecurityStamp
da await userManager.UpdateSecurityStampAsync(user.Id);
E assicurarsi di avere questa parte nella tua Startup.Auth.cs
:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
Provider = new CookieAuthenticationProvider
{
// Enables the application to validate the security stamp when the user logs in.
// This is a security feature which is used when you change a password or add an external login to your account.
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
validateInterval: TimeSpan.FromMinutes(5),
regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
}
});
in questo modo ogni volta all'utente di log-in, verrà invalidato tutte le altre sessioni perché l'SecurityStamp su utente viene modificato. E lo validateInterval
a un valore sufficientemente basso, quindi altri cookie di autenticazione possono essere invalidati abbastanza presto.
Problemi correlati
- 1. aspnet Identità 2.0 Email e UserName duplicazione
- 2. ASP.NET MVC Login identità senza password
- 3. Utilizzare lo stesso database sia per le entità personalizzate che per il contesto di identità?
- 4. Come utilizzare account Google come login
- 5. Gestisci OmniAuth :: Errore (invalid_credentials) per il login di identità
- 6. Identità pool di applicazioni IIS e account Windows
- 7. NSOperationQueue e simultaneo vs non simultaneo
- 8. viene reindirizzato a loginUrl errato -> account/login anziché account/LOGON
- 9. il login in account Gmail tramite C# .NET
- 10. Magento: Login e reindirizzare alla pagina account da Magento fuori
- 11. disabilita l'opzione Crea account di stormpath nella schermata di login
- 12. valore massimo per aspnet: MaxHttpCollectionKeys
- 13. ASP.NET MVC 5 Identità 2 Login reindirizzamento in base al ruolo dell'utente
- 14. Identità identità ASP.NET quando il progetto viene creato senza autenticazione
- 15. email Identità con il precipitare in Asp.Net Identità
- 16. Invalidate Old Session Cookie - Identità ASP.Net
- 17. Disegno simultaneo con paper.js
- 18. Autenticazione LDAP con identità Asp.NET
- 19. aggiornamento simultaneo java map
- 20. Inserimento simultaneo con MySQL
- 21. accesso variabile simultaneo in c
- 22. Identità ASP in MVC6 - Proprietà percorso di accesso non funzionante
- 23. Asp.net identità mvc SecurityStamp signout ovunque
- 24. È possibile che due app sullo stesso account heroku accedano allo stesso server RedisToGo?
- 25. MVC 5 Global Account Account Object
- 26. ASP.NET MVC Identità implementazione predefinita
- 27. login google plus vs login google, qual è la differenza?
- 28. Identità ASP.NET nell'architettura Microservice
- 29. Utilizzo simultaneo di CLion e PyCharm
- 30. Memory Cache o dizionario simultaneo?
Stavo cercando un modo per evitare il login se esiste una sessione attiva per quell'utente. UserManager.GetSecurityStampAsync farebbe il trucco? –
@ThiagoCustodio 'GetSecurityStampAsync' restituirà solo un timbro di sicurezza che è un GUID memorizzato nel record dell'utente, da solo non fa molto. Per evitare di accedere alla seconda volta, è molto più complesso: dovrai in qualche modo tenere traccia della sessione corrente, conservare l'ID per quello, mettere quell'ID in auth-cookie e al momento del login verificare se la sessione corrente è la stessa di quella già memorizzata . E posso prevedere un mucchio di problemi con questo approccio. In definitiva, se si desidera che gli utenti interrompano la condivisione di un accesso, l'approccio suggerito li renderà abbastanza presto che la condivisione delle password non è buona. – trailmax
attendi userManager.UpdateSecurityStampAsync (user.Id), in quale file in MVC 5? – SAR