Ho sperimentato l'autenticazione dei moduli ASP.NET personalizzati e qualcosa che mi confonde è dove impostare quali ruoli sono associati a un utente. Lettura di vari tutorial Ho visto suggerimenti per utilizzare Application_AuthenticateRequest
o FormsAuthentication_OnAuthenticate
, con l'unica differenza nel codice di essere il modo in cui lo userPrincipal
è assegnato a User
.Qual è la differenza tra Application_AuthenticateRequest e FormsAuthentication_OnAuthenticate
Context.User = userPrincipal;
e
e.User = userPrincipal;
seguito è il metodo completato richiede ciascuna. Sono funzionalmente equivalenti o c'è qualche differenza di cui dovrei essere a conoscenza?
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
HttpCookie authCookie = Context.Request.Cookies[FormsAuthentication.FormsCookieName];
if (authCookie != null)
{
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
string[] roles = authTicket.UserData.Split(';');
GenericPrincipal userPrincipal = new GenericPrincipal(new GenericIdentity(authTicket.Name), roles);
Context.User = userPrincipal;
}
}
protected void FormsAuthentication_OnAuthenticate(Object sender, FormsAuthenticationEventArgs e)
{
HttpCookie authCookie = Context.Request.Cookies[FormsAuthentication.FormsCookieName];
if (authCookie != null)
{
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
string[] roles = authTicket.UserData.Split(';');
GenericPrincipal userPrincipal = new GenericPrincipal(new GenericIdentity(authTicket.Name), roles);
e.User = userPrincipal;
}
}