Condividi tramite


Accesso negato alle directory di IIS per ASP.NET

Questo white paper descrive le operazioni da eseguire se una richiesta all'applicazione ASP.NET restituisce l'errore "Accesso negato alla directory DirectoryName . Impossibile avviare il monitoraggio delle modifiche della directory."

Si applica a ASP.NET 1.0 e ASP.NET 1.1.

ASP.NET V1 RTM viene ora eseguito usando un account windows con privilegi meno elevati, registrato come account "ASPNET" in un computer locale.

In alcuni sistemi bloccati, questo account potrebbe non disporre per impostazione predefinita dell'accesso di sicurezza in lettura alle directory di contenuto di un sito Web, alla directory radice dell'applicazione o alla directory radice del sito Web. In questo caso si riceverà l'errore seguente durante la richiesta di pagine da una determinata applicazione Web:

Screenshot della visualizzazione del browser di una pagina di errore intitolata Accesso negato.

Per risolvere questo problema, è necessario modificare le autorizzazioni di sicurezza per le directory appropriate.

In particolare, ASP.NET richiede l'accesso in lettura, esecuzione ed elenco per l'account ASPNET per la radice del sito Web (ad esempio: c:\inetpub\wwwroot o qualsiasi directory del sito alternativa configurata in IIS), la directory del contenuto e la directory radice dell'applicazione per monitorare le modifiche apportate ai file di configurazione. La radice dell'applicazione corrisponde al percorso della cartella associato alla directory virtuale dell'applicazione nello strumento di amministrazione IIS (inetmgr).

Si consideri ad esempio la gerarchia dell'applicazione seguente nella cartella wwwroot.

C:\inetpub\wwwroot\myapp\default.aspx

Per questo esempio, l'account ASPNET richiede le autorizzazioni di lettura definite in precedenza per il contenuto sia nella directory myapp che nella directory wwwroot. Un singolo ACL ereditato nella cartella radice può essere usato facoltativamente anche per entrambe le directory, se annidate.

Per aggiungere autorizzazioni a una directory, seguire questa procedura:

  • Usando Esplora risorse passare alla directory
  • Fare clic con il pulsante destro del mouse sulla cartella della directory e scegliere "Proprietà"
  • Passare alla scheda "Sicurezza" nella finestra di dialogo delle proprietà
  • Fare clic sul pulsante "Aggiungi" e immettere il nome del computer seguito dal nome dell'account ASPNET. Ad esempio, in un computer denominato "webdev", immettere webdev\ASPNET e premere "OK".
  • Assicurarsi che nell'account ASPNET siano selezionate le caselle di controllo "Read & Execute", "List Folder Contents" e "Read".
  • Premere OK per chiudere la finestra di dialogo e salvare le modifiche.

Screenshot della finestra di dialogo delle proprietà. O K è selezionato.

Se lo si desidera, queste modifiche possono essere automatizzate usando script o lo strumento "cacls.exe" fornito con Windows. Per altre informazioni sull'account ASPNET, vedere il documento domande frequenti.

Se una determinata applicazione Web si basa sulla presenza di autorizzazioni di scrittura o modifica per una determinata cartella o file, è possibile concedere questa operazione seguendo la stessa procedura e selezionando le caselle di controllo "Write" e/o "Modify".

Nei computer che consentono a Tutti o al gruppo Utenti l'accesso in lettura a queste directory (ovvero la configurazione predefinita), non verranno rilevati problemi e i passaggi precedenti non saranno necessari.