2015-03-30 11 views
10

Nella mia applicazione MVC-5, devo creare manualmente i valori del timbro di sicurezza. L'attuale implementazione del team di identità sembra utilizzare un guid.Come creare un valore del timbro di sicurezza per l'identità asp.net (IUserSecurityStampStore)

Guid.NewGuid().ToString("D") 

E 'salvare me stesso per creare un nuovo GUID e usarlo come un nuovo valore di bollo di sicurezza o potrebbe questo portare a problemi in implementazioni future dell'identità asp.net?
Esiste un metodo per consentire al framework di identità di creare un valore di timbro tale per me in modo che la mia implementazione venga salvata per modifiche future?

Aggiornamento
ho cambiato il testo quesion di elaborare più esattamente per quello che stavo cercando.

risposta

14

Fuori della documentazione della realizzazione dell'identità per l'entità-quadro, sembra che possa essere un qualsiasi valore casuale:

IdentityUser.SecurityStamp Property

un GUID sembra quindi fine e il seguente codice dovrebbe essere affidabile anche con versioni future dell'identità di asp.net.

Guid.NewGuid().ToString("D") 
7

ASP.NET Identità UserManager fornisce metodo UpdateSecurityStampAsync(string userId) che aggiornerà automaticamente gli utenti sicurezza-stamp. In modo che la volta successiva, validateInterval, l'utente venga automaticamente disconnesso e costretto a firmarlo di nuovo.

UserManager.UpdateSecurityStampAsync(userId); 
+0

Questa non è una risposta alla mia domanda. Stavo cercando un modo a prova di futuro su come creare manualmente il valore del timbro (non per impostarlo). Fortunatamente ho trovato nei documenti di Asp.identiy Entity-Framework -attuazione la nota che qualsiasi valore casuale farà. Per favore vedi la mia risposta. Grazie comunque. – HCL

+0

Puoi guardare qui che l'identità usa anche Guid per creare nuovi timbri di Sicurezza quindi penso che non ci sia alcun problema per te. https://github.com/aspnet/Identity/blob/dev/src/Microsoft.AspNet.Identity/UserManager.cs#L787 Identity fornisce solo due metodi 'UpdateSecurityStampAsync' e' GetSecurityStampAsync', quindi dovrai creare la tua stringa se vuoi avere il controllo. –

Problemi correlati