Ho fatto un sito Intranet ASP.NET MVC 3 con l'autenticazione di Windows attivata:ASP.NET MVC 3 sito Intranet su IIS7.5 w autenticazione di Windows dà 401.3 e l'autorizzazione file non riuscita per la richiesta quando si cerca di accedere a
- nelle proprietà del file di Visual Studio progetto
- nel web.config, vale a dire
<authentication mode="Windows"/>
- sulle proprietà del sito in IIS 7.5. server
L'accesso anonimo è disabilitato per tutti questi tre sopra, il web.config dice <deny users="?"/>
. La rappresentazione è disabilitata in web.config dall'identità <impersonate="false"/>
e nelle proprietà del sito nel server IIS 7.5. E infine, il SERVIZIO DI RETE è impostato per eseguire il pool di app e ha anche letto nella cartella del sito (non sono sicuro se è necessario, mi dici, ma di certo non è sufficiente per risolvere il mio problema di seguito).
Ora, quando si accede tramite la finestra di dialogo Autenticazione standard di Windows, agli utenti del dominio viene presentato un errore 401.3 dopo tre tentativi di accesso validi. Questo sembra essere prima ancora di raggiungere il codice del mio sito MVC, cioè sembra completamente collegato a IIS. Il registro eventi dà la seguente tipo di ingresso (è una voce Informazioni, non un errore, e ho offuscato un po 'per proteggere il mio cliente) per tutti gli utenti che ha provato ad accedere:
Event code: 4008
Event message: File authorization failed for the request.
Event time: 2012-02-20 18:45:41
Event time (UTC): 2012-02-20 17:45:41
Event ID: 6dd3b4bf99784ba1a0fe06694dd89691
Event sequence: 3
Event occurrence: 1
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/2/ROOT-1-129742335229554599
Trust level: Full
Application Virtual Path:/
Application Path: D:\Public\BlahblahManager\
Machine name: HUB01-XYZ123
Process information:
Process ID: 2920
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE
Request information:
Request URL: http://blahblahmanager.user.ad.blah.com/
Request path:/
User host address: 134.XXX.XXX.XXX
User: USER-AD\teh-user
Is authenticated: True
Authentication Type: Negotiate
Thread account name: NT AUTHORITY\NETWORK SERVICE
Custom event details:
È solo quando concedo esplicitamente agli utenti USER-AD\teh-user
o USER-AD\Domain
l'autorizzazione Read
nella cartella principale del sito (D: \ Public \ BlahblahManager) che l'utente può accedere e vedere effettivamente il sito.
Perché è questo? Ci deve essere una sorta di configurazione che mi manca. Non dovrebbe essere sufficiente che il SERVIZIO DI RETE abbia letto nella cartella principale del sito? L'ho cercato su Google per un po 'e l'imitazione è menzionata qui e là, ma la giuria è ancora fuori sembra. Alcuni siti affermano che si dovrebbe andare con la rappresentazione e forniscono esempi su come farlo, ma quando provo gli esempi non funziona ancora. Altri siti dicono che la rappresentazione NON è la strada da percorrere e che è necessario concedere le autorizzazioni della cartella in questi casi. Ma sembra una cosa strana da fare. Gli utenti non hanno attività sul server attuale, dovrebbero funzionare solo attraverso il sito web.
Qualche suggerimento? Qual è in genere la quantità minima di configurazione necessaria per farlo funzionare? Qualche consiglio su come risolvere questo tipo di problema e arrivare alla causa principale?
Hai mai risolto questo problema? – DaveHogan
L'ho risolto con un work-around che non aiuta nel caso generale (molto specifico per il cliente). (Le risposte suggerite finora non sono state d'aiuto purtroppo :( –
Ho lo stesso problema (errori di "Errore file non riuscito per la richiesta" con utente autenticato elencato e Servizio di rete come identità thread, pool di app in esecuzione come NetworkService, IIS 7.5, errore 401 dopo inserire le credenziali) Attualmente il mio unico modo per aggirarlo è garantire a tutti (oa un gruppo specifico di utenti) l'accesso ai file, che sembra una soluzione terribile. Ho installato la stessa app su dozzine di server clienti e non ho avuto bisogno di Forse è qualcosa di peculiare di IIS 7.5, anche se ho già installato lì e non ricordo questo problema – Rory