5

Sto riscrivendo l'app di autenticazione di moduli MVC 4 in MVC 5 con Identity 2.0.Custom Single-Sign-On con ASP.NET Identity 2.0 e MVC 5

Attualmente, il sito utilizza un metodo proprietario single-sign-on che decodifica un parametro in entrata da una richiesta POST e, in base alla validità dei contenuti, utilizza FormsAuthentication.SetAuthCookie per impostare il cookie di autenticazione e reindirizza il utente al contenuto protetto.

Ora che utilizzo Identità ASP.Net, qual è il sostituto appropriato per la funzionalità FormsAuthentication.SetAuthCookie? Tieni presente che non voglio dover mantenere nessuno di questi utenti in un database. Dovrebbero semplicemente esistere all'interno dei loro token/cookie.

risposta

3

Trovato! Ho trovato la soluzione in this helpful article.

Fondamentalmente, si crea un oggetto ClaimsIdentity e quindi si utilizza AuthenticationManager da OWINContext per "SignIn" l'identità e che crea il cookie di autenticazione.

Ti piace questa:

var claims = new List<Claim>(); 
claims.Add(new Claim(ClaimTypes.Name, "Brock")); 
claims.Add(new Claim(ClaimTypes.Email, "[email protected]")); 
var id = new ClaimsIdentity(claims,DefaultAuthenticationTypes.ApplicationCookie); 

var ctx = Request.GetOwinContext(); 
var authenticationManager = ctx.Authentication; 
authenticationManager.SignIn(id); 
+0

Non dimenticate di segnare il proprio risposta accettata! – hbulens

Problemi correlati