2009-12-13 8 views
9

Sto utilizzando VSTS 2008 + C# + .Net 3.5 + IIS 7.0. Ho creato un nuovo sito Web e inserito un file html nella directory. E quando uso la funzione Sfoglia in Gestione IIS per sfogliare il file html, ho incontrato il seguente errore, qualche idea su cosa è sbagliato?Errore di accesso non autorizzato alle pagine html in IIS 7.0

BTW: Sono molto confuso su un errore non autorizzato da quando eseguo il processo di lavoro con l'account amministratore. Dal messaggio di errore, sono confuso perché il metodo di accesso è anonimo e non si utilizza l'account amministratore?

HTTP Error 401.3 - Unauthorized 
You do not have permission to view this directory or page because of the access control list (ACL) configuration or encryption settings for this resource on the Web server. 

Module IIS Web Core 
Notification AuthenticateRequest 
Handler StaticFile 
Error Cde 0x80070005 
Requested URL http://localhost:80/a.html 
Physical Path C:\test\simplehosttest\a.html 
Logon Method Anonymous 
Logon User Anonymous 
+1

hai abilitato la navigazione di directory? – mglmnc

+0

hai abilitato il contenuto statico/gestore di file statico quando installato? – iwo

+0

Grazie a mglmnc, "hai abilitato la navigazione nella directory" - come controllare? Mai fatto prima – George2

risposta

17

C: \ test \ simplehosttest \ a.html

Si prega di concedere IUSR rappresentano diritti necessari su questo file o la relativa cartella. Quindi l'errore 401.3 scomparirà.

+0

Ho già impostato l'account per il processo di lavoro come amministratore, perché ha ancora problemi di autorizzazione? L'amministratore dovrebbe essere più potente di IUSR? – George2

+0

Ho provato ad aggiungere IUSR e funziona, bello! Perché utilizzare IUSR potrebbe risolvere il mio problema? Questo utente speciale è usato per? – George2

+3

IUSR viene utilizzato come account utente anonimo predefinito. Ciò significa che quando il tuo sito è anonimo accessibile, infatti IIS utilizza l'account IUSR come account di accesso per tutti gli utenti. Quindi devi concedere ai permessi IUSR necessari per le cartelle in modo che possano accedervi. –

1

Fondamentalmente è necessario concedere l'accesso in lettura al file all'identità che esegue il proprio apppool in IIS. Nel 2008 server e Vista quell'identità (a meno che non l'abbiate esplicitamente modificata) sarebbe "NT Authority \ Network Service" e su Windows7 è "IisAppPool \ AppPoolIdentity" (e non chiedere perché l'hanno fatto su win7, è un WTF se me lo chiedi)

+0

Sono confuso, esiste un nome utente chiamato "AppPoolIdentity"? – George2

+0

Ho provato ad aggiungere il permesso della pagina html all'utente "IUSR" e funziona. Perché utilizzare IUSR potrebbe risolvere il mio problema? Questo utente speciale è usato per? – George2

+0

Grazie, "WTF" significa? – George2

0

Ho avuto lo stesso problema, ma nessuna delle soluzioni suggerite ha risolto il mio problema. Stavo cercando di distribuire un'applicazione Web ASP.Net 4.0 con Autenticazione moduli su IIS7 su Windows Server 2008. Ciò che risolveva il problema era fornire permessi di lettura e di script ai gestori, che possono essere ottenuti aprendo i gestori di gestori e selezionando "Modifica funzionalità Autorizzazioni "dal menu di destra.

0

Ho trovato un'altra causa di questo problema in quanto il sito Web che stavo distribuendo mi è stato inviato in un file zip. Per qualche motivo (forse perché i file sono stati creati su un Mac) i file su cui è arrivato il set di bit Encrypted for Security. I file vengono visualizzati in verde in Esplora risorse.

13

In IIS 8.5 (installazione recente) ho eseguito il pool di applicazioni come identità personalizzata e i file memorizzati in una cartella esterna/inetpub/wwwroot. L'identità aveva tutti i privilegi di file corretti, ma ho comunque ricevuto un errore acl.

Dopo alcune difficoltà ho scoperto che in Gestione IIS-> Sito personale-> Autenticazione-> Autenticazione anonima-> Modifica l'identità utilizzata per l'autenticazione anonima è stata impostata su un utente specifico per impostazione predefinita (IUSR). Impostarlo per usare l'identità del pool di applicazioni lo ha risolto per me!

+1

Questo lo aggiusta immediatamente anche per me, qualcuno può commentare sul motivo per cui questo è impostato di default su IUSR invece di 'Identità pool di applicazioni '? –

Problemi correlati