sviluppo-web-qa.it

IIS 7.5 (Windows 7) - Errore HTTP 401.3 - Non autorizzato

Sto provando a testare il mio sito Web ASP.Net su localhost e visualizzo questo errore:

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.

Ho i seguenti utenti nella cartella dell'applicazione del sito Web, con autorizzazioni complete di lettura/scrittura:

  • SERVIZIO DI RETE
  • IIS_IUSRS
  • SISTEMA
  • Amministratori
  • Nathan (me)

Cosa posso provare a risolvere questo?

82
Nathan Ridley

IIS 7 crea inoltre "IUSR" come utente predefinito per accedere ai file tramite IIS. Quindi fai in modo che l'utente IUSR abbia accesso in lettura a file/cartelle.

Come verificare se IUSR ha letto Access? Tasto destro del mouse -> Cartella -> Proprietà -> Scheda Sicurezza Verifica se IUSR è nell'elenco Gruppo o nomi utenti, Se No.

Fai clic su Modifica -> Aggiungi -> Avanzate -> Trova ora -> Seleziona IUSR e fai clic su OK quattro volte

124
Ejaz

Ho trovato questo su un altro forum, quindi non posso prendermi il merito ma l'ho fatto e ha funzionato per me:

"Prova a modificare l'impostazione di autenticazione anonima in IIS7:

Fai clic su Autenticazione e fai clic su Modifica dopo aver scelto Autenticazione anonima. Nella finestra di apertura selezionare Identità pool di applicazioni e fare clic su OK. "

33
Stryder

Ho avuto lo stesso problema in IIS 7.5 su Windows Server 2008. Per me, i seguenti passaggi hanno funzionato per risolvere il problema:

  • Apri IIS Manager
  • Fai clic sul sito Web che desideri modificare
  • Fare doppio clic su Autenticazione
  • Fai clic su Autenticazione anonima, quindi fai clic su Modifica ... in Azioni
  • Modifica per utilizzare le identità del pool di applicazioni credenziali anziché l'utente specifico (il mio era IUSR)

Dopo aver apportato questa modifica, i miei errori 401.3 sono scomparsi.

22
Mark

Stai utilizzando un meccanismo di accesso o solo un'autenticazione anonima?

Se anonimo, vai in IIS, nell'icona Autenticazione, scegli il nome di Autenticazione anonima, quindi fai clic sul pulsante Modifica in Azioni. Controlla quale utente è specificato lì e assicurati che abbia le autorizzazioni per file/cartelle del sito.

Se si dispone di una qualche forma di sistema di accesso, assicurarsi che gli utenti a cui si sta effettuando l'accesso dispongano delle autorizzazioni per i file per il sito e assicurarsi che l'ID del pool di applicazioni in esecuzione sia almeno in accesso in lettura ai file.

10
MattB

Ciao per me su IIS 8 lavoro: 1) Vai su IIS directory virtuale - 2) autenticazione - 3) Autenticazione anonima - 4) imposta Identità pool di applicazioni.

3
Alex

Per impostazione predefinita, con IIS 7.5, ciascun pool di applicazioni viene eseguito con la propria "identità virtuale". L'identità del pool di app sono le credenziali utilizzate per accedere al file system.

Non ne sono sicuro, ma Microsoft ha fatto questo per aumentare la sicurezza dell'installazione predefinita, riducendo al contempo la necessità di creare account di servizio in determinati scenari di installazione. Indipendentemente da ciò, il risultato è che dovrai identificare questo account di "identità virtuale" e concedergli l'accesso alla tua directory o modificare l'account del servizio del pool di app.

Le identità virtuali del pool di app sono denominate "IIS AppPool \", quindi se si utilizza DefaultAppPool, la sua identità sarebbe "IIS AppPool\DefaultAppPool".

Vedi questo articolo per dettagli più completi.

3
ntcolonel

Rispondere per includere informazioni dai commenti sulla risposta accettata.

In IIS 7.5 su Windows Server 2008r2, il gruppo IIS_IUSRS è già incluso, ma il gruppo IUSR separato deve comunque essere aggiunto alle autorizzazioni per consentire l'accesso/il download dei file.

Per ulteriori informazioni sulle differenze negli account, vedere Informazioni sugli account utente e di gruppo integrati in IIS.

2
Chris Pickering

Dato che nessuna delle risposte precedenti mi ha aiutato, ho pensato di condividere il modo in cui ho risolto questo problema mentre mi sono imbattuto nel mio computer locale con Win7 e IIS7.

  • Vai su IIS7 -> Pool di applicazioni

    Trova il pool di applicazioni del tuo sito (nel mio caso DefaultAppPool), fai clic con il pulsante destro del mouse e scegli Opzioni avanzate.

    Trova il capitolo Modello di processo e modifica il campo Identità con un utente che conosci sicuramente ha accesso ai file nella cartella del tuo sito Web (nel mio caso l'amministratore locale)

2

Per gli utenti in cui ciò non è abbastanza:

Ho capito che funziona con questo:

  • Apri la vista funzionalità del tuo sito web.
  • Vai a Mapping gestori.
  • Trova il percorso per .cshtml
  • Fare clic con il tasto destro e fare clic su Modifica permessi funzione
  • Seleziona Esegui
  • Premi OK.

Ora prova ad aggiornare il tuo sito web.

1
nixkuroi

Prova questo ... Vai a Gestione computer (fai clic destro sul mio computer e seleziona Gestisci) -> Utenti e gruppi locali -> Utenti -> Seleziona IUSR_MACHINENAME -> Proprietà clic destro -> Assicurati che sia un membro di IIS_WPG e utenti e non ospiti.


Sto lavorando con Server 2008 R2 e l'account IUser non è disponibile nell'elenco.

1
Matt

Prova a installare il lato client di IIS utilizzando aspnet_regiis -c e quindi ripristinare IIS.

1
titilola