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


81

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?


Inseguo questo problema da un paio d'ore ormai. Ho già IUSR e Server \ IUSR avrà l'autorizzazione di lettura. Il mio problema si è rivelato essere cartelle crittografate che sono state estratte da un file Zip. Se il nome della cartella è verde, prova a rimuovere la casella di controllo dalle Impostazioni avanzate della casella Proprietà. Questo risolto il mio problema.
Lionel Morrison,

Risposte:


123

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


5
Assicurati di cercare dalla posizione giusta. Stavo cercando IUSR nel mio dominio di lavoro e non trovavo nulla. Quindi ho cambiato la posizione con il nome della mia macchina.
Mike Blandford,

8
Nota: è necessario che sia IUSR che IIS_IUSRS abbiano accesso affinché funzioni sul mio computer. Ho provato a rimuovere IIS_IUSRS dopo aver aggiunto IUSR, pensando che IUSR fosse tutto ciò di cui avevo bisogno, ma si è storto.
kdawg,

1
Mi ha sorpreso che solo l'aggiunta IIS_IUSRsnon fosse abbastanza; Ho anche dovuto aggiungere IUSR. Vale la pena ricordare: o)
Owen Blacker

Sicuramente l'utente IUSR è già membro di IIS_IUSRS per impostazione predefinita? Il mio server non sembra menzionare IUSR nelle autorizzazioni predefinite impostate per wwwroot.
NickG

33

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. "


5
Questo è quello che ha fatto per me.
Chris Marisic,

Sto usando la rappresentazione e questo in qualche modo era il problema. Non so perché, ma ha funzionato!
Jarrod,

Questo mi ha impedito di strapparmi tutti i capelli oggi. Grazie.
pauska,

Su IIS 8.5, sembra che il valore predefinito per una nuova applicazione non sia utilizzare Identità pool di applicazioni, ma solo IUSR. Sembra un po 'capito per me!
Pathogen,

Immagino che sia logico desiderare identità separate per "utente che esegue il pool di app" e "utente rappresentato dal pool di app dopo l'autenticazione" anonima "- ma solo con il senno di poi e dopo aver trovato questa risposta!
shambulator,

20

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 Gestione IIS
  • 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 credenziali di identità del pool di applicazioni anziché l'utente specifico (il mio era IUSR)

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


10

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

Se anonimo, vai su Gestione IIS, nell'icona Autenticazione, scegli il nome dell'Anonimo anonimo, quindi fai clic sul pulsante Modifica in Azioni. Controlla quale utente è specificato lì e assicurati che disponga delle autorizzazioni per i file / le 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 abbia almeno l'accesso in lettura ai file.


3

Per impostazione predefinita, con IIS 7.5, ciascun pool di applicazioni viene eseguito con la propria "identità virtuale". L'identità del pool di app è costituita dalle 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 maggiori dettagli.


3

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


Sia la risposta IUSR che questa risposta sono necessarie per una soluzione completa in tutti i casi in cui mi sono imbattuto
Brian Knoblauch,

2

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

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 ancora 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.


1

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

Prova a installare il lato client di IIS utilizzando aspnet_regiis -ce quindi reimposta IIS.


1

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.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.