Ideare e
realizzare strategie di autorizzazione per applicazioni web distribuite è
una delle task più impegnative che si possono presentare in fase di
analisi.
Come parte una analisi ?
Ponendosi domande
intelligenti.
Che cosa s'intende per domande intelligenti?
In
un ambiente Enterprise "ideale" le domande da proporsti potrebbero essere
le seguenti:
-
Dove dovrei utilizzare sistemi di autorizzazione
e con quale meccanismo?
-
Che meccanismo di autentificazione dovrei
utilizzare?
-
Dovrei utilizzare Active Directory Service per
l'autorizzazione o dovrei utilizzare un sistema di verifica basata su fonte
dati (DB)?
-
Come posso rappresentare gli utenti che
non usano sistemi operativi Microsoft nella mia
applicazione?
-
Come potrò passare l'identità dell'utente
tra i vari tier della mia applicazione? Quando dovrei utilizzare
impersionation? E la Delegation?
Quando si prende in considerazione il termine autorizzazione, è
bene considerare anche il termine autentificazione. Questi due processi vanno di
pari passo per due motivi:
-
Le policy di autorizzazione richiedono sempre utenti
autentificati.
-
La modalità con cui si autentificano gli utenti determinano
l'utilizzo dei vari gatekeepers.
Esempio:
Alcuni GateKeepers (es:
ASP.NET File Authorization,Enterprise Service,COM+,Windows ACLs), richiedono
una identità Windows autenticata.
Alcuni altri GateKeepers, come per
esempio ASP.NET Url authorization e i .NET Roles, no.
Questi richiedono
semplicemente un identità autenticata, una che non necessariamente è
rappresentata da un WAT Windows Access
Token.