2012-01-12 13 views
6

Vogliamo autorizzare gli utenti e se sono autorizzati vogliamo aggiungere i loro ruoli e le autorizzazioni per l'utente e aggiungere che alla IPrincipleAuthorizeAttribute v Application_AuthenticateRequest

Abbiamo 2 modi di fare questo è di farlo in global.asax Application_AuthenticateRequest l'altro è per creare un attributo che eredita da AuthorizeAttribute

C'è qualche scelta lucente qui?

risposta

5

In ASP.NET MVC è preferibile un attributo di autorizzazione personalizzato. Se invece si desidera riusare questo codice con le classiche applicazioni ASP.NET, è possibile utilizzare Application_AuthenticateRequest o scrivere un HttpModule personalizzato e utilizzare l'evento AuthenticateRequest.

+0

sì - quello che il mio istinto mi stava dicendo. Qualche informazione sul perché è preferibile? – iwayneo

+0

@iwayneo, una cosa che ti viene in mente è che ASP.NET MVC riassume per te molte delle classi specifiche HttpContext che rendono il tuo codice più facile da testare in isolamento. Se metti il ​​tuo codice in Global.asax, probabilmente lavorerai con classi statiche e sigillate che personalmente non mi piace lavorare con. Ecco perché preferisco il modo MVC di fare le cose. Ma ovviamente è soggettivo. Entrambi sono possibili. Sto esprimendo solo le mie preferenze personali qui. –

Problemi correlati