sto usando Asp.NET Identity 2.1.0
e memorizzare un elenco di Accounts
che un User
ha accesso, come sostiene. Il ClaimsIdentity
viene generato quando il User
segni:forzare un altro utente per aggiornare le loro richieste con ASP.NET Identity 2.1.0
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
{
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add Claims concerning Account
userIdentity.AddClaim(new Claim("AccountList", SerializedListOfAccounts));
return userIdentity;
}
Diciamo che un amministratore revoca l'accesso s' User A
ad un account specifico. Come posso forzare User A
a rigenerare il suo ClaimsIdentity
? Ricorda che non è nel contesto di User A
. E non voglio aspettare fino a quando il cookie non è scaduto (e un nuovo ClaimsIdentity
viene generato automaticamente
È possibile? Non c'è un modo per dire al server di considerare il cookie di User A
come non valido e forzare per rigenerarlo?
il motivo che voglio questo comportamento è quello di creare un costume AuthorizeAttribute
che posso mettere sul mio controller che controlla il Claims
per vedere se un User
ha accesso o meno, al fine di evitare un viaggio in più intorno al banca dati.
Dovresti loro logout, giusto? Forse questo aiuterà: http: //stackoverflow.com/questions/10369225/forcefully-log-out-a-specific-user-among-all-online-users –
@BrendanGreen non ho davvero voglia di uscire loro, costringili a rigenerare le loro affermazioni. Potrei usare UpdateSecurityStamp per costringerli ad accedere di nuovo, ma quello sarebbe il momento in cui il token scade comunque. – Joel
è possibile effettuare il logout e registrarli nuovamente con le attestazioni aggiornate. – warheat1990