Abbiamo un'applicazione ASP.NET su ASP.NET 4.0 che utilizza MVC 3 che utilizza l'autenticazione di Windows.Problemi di autenticazione ASP.NET su IIS7 - User.Identity.Name è vuoto per l'autenticazione di Windows
Quando eseguito da Visual Studio 2010, tutto funziona come previsto ma quando viene eseguito il roll out su IIS7, l'utente che ha eseguito l'accesso a Windows non viene mai compilato (verifica User.Identity.Name). Nessuna richiesta di dialogo per le credenziali dell'utente.
L'impostazione web.config:
<authentication mode="Windows" />
In IIS Vedo che l'autenticazione di Windows è attivato, come è anonimo (disabilitando risultati anonimi in un 403 Forbidden e nessun contenuto viene mostrato).
Ho provato ad abilitare e disabilitare "Kernel-mode authentication" (useKernelMode = "true"), ma questo non sembra fare alcuna differenza. Anche se ricordo che dovevamo disabilitare questa impostazione su un altro sito su un server diverso per far funzionare correttamente l'autenticazione (potrebbe indicare un potenziale problema più in basso nello stack?).
Nel caso in cui è utile, dal applicationHost.config di IIS:
<security>
<authentication>
<anonymousAuthentication enabled="true" />
<digestAuthentication enabled="false" />
<basicAuthentication enabled="false" />
<windowsAuthentication enabled="true" useKernelMode="false">
<providers>
<clear />
<add value="NTLM" />
</providers>
</windowsAuthentication>
</authentication>
</security>
Tutte le idee che il problema potrebbe essere?
Grazie in anticipo per eventuali suggerimenti.
Update 1
sono riuscito a trovare un altro server IIS7 per testare su e ho trovato, se ho disabilitato l'accesso anonimo tutto ha funzionato, se lo desideri. Tuttavia ho ancora problemi con il server IIS7 originale anche quando disabilito l'accesso anonimo (sto mantenendo Anonymous disabilitato ora). Quindi ci deve essere qualche problema più in basso, credo. Qualche idea? Qualcosa che devo aggiustare perché continuerà a spuntare e a mordicchiarmi. Immagino.
Update 2
Se abilitare l'autenticazione Digest sulla scatola IIS7 problema allora io sono sfidato con la finestra di prompt di login e tutto funziona come previsto se fornisco le credenziali adatte. Ma essendo un'app Web interna con utenti già registrati nel dominio, non vogliamo davvero sfidarli in questo modo. Le credenziali dovrebbero essere passate attraverso in modo trasparente poiché funziona sulla seconda casella di IIS7.
Update 3
alcuni progressi ... Ho scoperto che se l'applicazione web è nella radice e non un sito secondario poi modificando direttamente il file applicationHost.config per IIS7 per dare il seguente di autenticazione impostazioni permette al sito di funzionare come previsto:
<authentication>
<anonymousAuthentication enabled="false" />
<windowsAuthentication enabled="true">
<providers>
<clear />
<add value="NTLM" />
</providers>
</windowsAuthentication>
<digestAuthentication enabled="false" />
</authentication>
con UI di IIS7 per configurare l'autenticazione non dà abbastanza i giusti risultati. gli elementi di autenticazione mancano dopo i reparti (poiché suppongo che IIS7 si assuma che siano ereditati) o hanno le impostazioni sbagliate (WindowsAuthentication sembra aver bisogno della configurazione dei provider sopra presente per funzionare correttamente).
Purtroppo l'applicazione Web in questione è in realtà un'applicazione secondaria in quanto esiste una versione interna (utilizzando l'autenticazione di Windows> www.site.it/interna) e una versione esterna (utilizzando l'autenticazione moduli> www.site.com/external). Non riesco ancora a ottenere l'autenticazione per funzionare come una sub-applicazione ancora. Ho appena ricevuto un "Error Code: 403 Forbidden".
controllare questo uno: http://stackoverflow.com/questions/1067591/user-identity-name-blank-in-asp-net-mvc –
con quale browser si sta effettuando il test? Se si tratta di Firefox, si potrebbe voler controllare: https://addons.mozilla.org/en-US/firefox/addon/integrated-auth-for-firefox/ Firefox non ha l'autenticazione di Windows "abilitata" correttamente fuori dal scatola. – NotMe
Saluti Davide, ma niente ci ha aiutato. Questo tipo sembrava avere problemi nel far funzionare l'autenticazione di Windows perché aveva perso le impostazioni di web.config (quindi non poteva lavorare in VS o IIS). Tutto funziona bene per me in VS, è solo IIS che le cose non si comportano come previsto. – Gavin