Sto tentando di distribuire un'applicazione ASP.NET MVC 3 in una casella di Windows 2008 R2. Ho eseguito il programma di installazione della piattaforma Web per ottenere MVC 3 bit e le impostazioni IIS di base installate. Ho creato una nuova cartella C: \ Website, quindi ho creato un nuovo sito Web e l'ho indirizzato a questa cartella.Perché sto ottenendo un errore 401.2/Accesso negato l'implementazione della mia app MVC 3 su IIS 7.5?
Vedo che c'è una nuova indentità del pool di app, "ApplicationPoolIdentity" che è diversa da IIS 6 (ed è un account utente "speciale" che non è realmente disponibile dalla scheda di sicurezza sulla cartella). Ho assegnato manualmente l'autorizzazione alla cartella C: \ Website digitando l'account "IIS AppPool \ DefaultAppPool" e dandogli lettura & Esegui/Elenca contenuto cartella/accesso in lettura (in particolare: cartella Traver/file excute, cartella Elenco/lettura dati, Leggi attributi, Leggi attributi estesi, Leggi autorizzazioni).
Il pool di applicazioni per questo sito Web è configurato per v4 del framework .NET, pipeline integrata.
In Autenticazione IIS "Autenticazione anonima" è abilitato.
Il mio sito web ha la modalità di autenticazione = "Windows" nel file web.config. Questa è la prima volta che utilizzo l'autenticazione di Windows. Se è importante, il server web fa parte di un dominio.
Quando provo ad accedere al sito, viene visualizzato un errore di accesso negato 401.2. Ho pensato che potrebbe essere correlato alle impostazioni di autenticazione di Windows, quindi ho modificato il web.config e impostato la modalità di autenticazione su Nessuno. Ho fatto lo stesso errore.
Se si accede al sito Web, IIS/Autenticazione e si abilita l'autenticazione di Windows, viene richiesto di immettere un nome utente/password. Se inserisco le mie credenziali funziona. Tuttavia, sono preoccupato che funzioni solo perché in realtà mi sta impersonando sul server (e ho accesso a tutto). Non ho davvero bisogno/voglio la rappresentazione sul sito web - Sto solo usando l'autenticazione di Windows in modo che non dobbiamo mantenere due serie di accessi. Il sito web controlla solo i ruoli che l'utente è membro per mostrare/nascondere i contenuti in modo selettivo. La pagina predefinita sul sito web non ha alcun attributo [Autorizza] impostato sul controller. è configurato nel file web.config.
Domanda secondaria: perché dovrei ricevere il mio nome utente/password? La richiesta/risposta non avverrà automaticamente e richiederà solo se l'autenticazione fallisce?
Ovviamente c'è qualche interazione qui che non capisco ma non so cosa. Non vedo errori utili nel registro eventi.
Ho cercato l'errore e ho già provato alcune delle correzioni, ad esempio, ho tentato di ripristinare la configurazione di ASP.NET dalla riga di comando utilizzando: aspnet_regiis -i senza fortuna.
risolto
ero in grado di ottenere questo lavoro. Sotto la configurazione del sito web è disponibile l'opzione "Autorizzazione .NET". Questo è stato configurato per negare tutti gli utenti anonimi. Ho rimosso quella regola, quindi ho aggiunto una regola per consentire a tutti gli utenti anonimi. Ora potrei colpire il sito senza effettuare l'accesso. Quindi sono entrato nell'autenticazione IIS e ho abilitato l'autenticazione di Windows e disabilitato l'autenticazione anonima.
Internet Explorer passa le credenziali senza chiedere conferma. Firefox richiede le credenziali.V'è una impostazione per configurare questa configurazione:
- Apri Firefox
- Vai a: about: config (e d'accordo per continuare)
- Filtro per: network.automatic
- doppio clic sulla rete .automatic-ntml-auth.trusted-uris
- Aggiungi il tuo sito (più siti possono essere separati da virgole). Includere la parte http: //.
La macchina su cui sto eseguendo il test non ha Chrome, ma sembra funzionare correttamente sul mio sviluppo. macchina.
Se abilitano a rispondere alla tua stessa domanda, cambierei la tua risoluzione. Risolto il mio problema –