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:

  1. Dove dovrei utilizzare sistemi di autorizzazione e con quale meccanismo?
  2. Che meccanismo di autentificazione dovrei utilizzare?
  3. Dovrei utilizzare Active Directory Service per l'autorizzazione o dovrei utilizzare un sistema di verifica basata su fonte dati (DB)?
  4. Come posso rappresentare gli utenti che non usano sistemi operativi Microsoft nella mia applicazione?
  5. 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:

  1. Le policy di autorizzazione richiedono sempre utenti autentificati.
  2. 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.