Non appena Internet Information Services riceve una richiesta, questo controlla se esiste un filtro ISAPI in grado di elaborare il processo richiesto. Per esempio, per le richieste .asp viene chiamata in causa asp.dll. Se non esiste nessun filtro ISAPI abile ad elaborare la richiesta, IIS si fa carico di elaborare e rimandare le informazioni al client. Questo è il normale di processo di lavoro che viene effettuato per pagine .html, .gif, .jpg e semplici file di testo.

Nel caso ci sia una richiesta per un file .aspx, questa viene passata al filtro aspnet_isapi.dll. Scopo di questo filtro è delegare l'ASP.NET Worker Process ad elaborare la richiesta. Il codice viene eseguito ed il risultato inviato al client.

Se impersionation è disabilitato, ASP.NET worker process girerà sotto le credenziali specificate nell'attributo processModel nel file machine.config

<CONFIGURATION>
<SYSTEM.WEB>
<IDENTITY IMPERSONATE="FALSE" />
<PROCESSMODEL USERNAME="ASPNET” PASSWORD=" AUTOGENERATE” />
</SYSTEM.WEB>
</CONFIGURATION>

Di default questo utente in Windows Server 2003 è Network Service, in Windows XP e Windows 2000 questo è ASPNET un utente creato al momento dell'installazione di Microsoft .NET.

Questi utenti hanno maggiori privilegi di IUSR_nomemacchina, basti pensare al fatto che ASP.NET stesso, li utilizza per effettuare la compilazione automatica ed altre particolari operazioni.

Se l'impersonation è attivata, il worker process girà sotto l'identità dell'utente remoto che ha effettuato la richiesta. Le credenziali possono essere quelle dell'account utente Windows se è stato selezionato uno dei seguenti metodi di autentificazione:

  • Basic
  • Digest
  • Integrated Windows Authentication

oppure, nel caso che non ci sia stata autentificazione, IUSR_nomemacchina.

E' anche possibile specificare l'utente che dovrà essere impersonificato dal worker processo ogni volta che arrivi una richiesta a lui delegata.

Per fare questo è necessario utilizzare il seguente codice

<IDENTITY IMPERSONATE="TRUE”
username="MioDominio\AleM" password="123abc />