2014-06-12 6 views
13

Ho appena aggiornato la mia applicazione da Visual Studio 2012 a Visual Studio 2013. L'autenticazione di Windows non funziona più. Mi sta dando un errore in basso.Autenticazione Windows non funzionante in IIS Express, debugging con Visual Studio 2013, Windows 8

 HTTP Error 401.2 - Unauthorized 
    You are not authorized to view this page due to invalid authentication headers. 

In Visual Studio è possibile selezionare l'autenticazione dalle proprietà del sito Web stesso. Così ho disabilitato l'accesso anonimo e abilitato l'autenticazione di Windows ma mi sta chiedendo username e password come sotto popup. Anche se fornisco le credenziali di dominio qui. Mi sta ancora dando questo popup ancora e ancora.

enter image description here enter image description here

Web Config:

 <authentication mode="Windows" /> 
    <authorization> 
    <deny users="?" /> 
    </authorization> 
    <identity impersonate="false" /> 
    <trace enabled="true" /> 

IIS espresso aspnetConfig:

 <authentication> 

      <anonymousAuthentication enabled="false" userName="" /> 

      <basicAuthentication enabled="false" /> 

      <clientCertificateMappingAuthentication enabled="false" /> 

      <digestAuthentication enabled="false" /> 

      <iisClientCertificateMappingAuthentication enabled="false"> 
      </iisClientCertificateMappingAuthentication> 

      <windowsAuthentication enabled="true"> 
       <providers> 
        <add value="Negotiate" /> 
        <add value="NTLM" /> 
       </providers> 
      </windowsAuthentication> 

     </authentication> 

     <authorization> 
      <add accessType="Allow" users="*" /> 
     </authorization> 



     <location path="Path"> 
     <system.webServer> 
     <security> 
      <authentication> 
       <windowsAuthentication enabled="true" /> 
       <anonymousAuthentication enabled="false" /> 
      </authentication> 
     </security> 
     </system.webServer> 
     </location> 

fatemi sapere se volete maggiori dettagli su questo.

Aggiornamento:

ho scoperto che se tolgo sotto la linea da web.config di quanto non iniziare a lavorare.

 <remove users="*" roles="" verbs="" /> 
+0

Hai capire questo fuori? – sabdiel

risposta

10

Sembra che tu abbia risolto la tua domanda! Bravo. Oltre a questo post che mi ha aiutato, ho trovato quanto segue per essere SUPER utile nella configurazione del mio IIS Express.

IIS Express Windows Authentication

Edit: Ho copiato le informazioni importanti dal link associato nel caso in cui muore. Questo è completamente da vikomall utente

opzione-1:

modificare \My Documents\IISExpress\config\applicationhost.config di file e consentire windowsAuthentication, vale a dire:

<system.webServer> 
... 
    <security> 
... 
    <authentication> 
     <windowsAuthentication enabled="true" /> 
    </authentication> 
... 
    </security> 
... 
</system.webServer> 

opzione-2:

sezione

Unlock windowsAuthentication in \ Documenti \ IISExpress \ config \ applicationhost.config come segue

<add name="WindowsAuthenticationModule" lockItem="false" /> 

impostazioni Alter override per i tipi di autenticazione richiesti a 'Consenti'

<sectionGroup name="security"> 
    ... 
    <sectionGroup name="system.webServer"> 
     ... 
     <sectionGroup name="authentication"> 
      <section name="anonymousAuthentication" overrideModeDefault="Allow" /> 
      ... 
      <section name="windowsAuthentication" overrideModeDefault="Allow" /> 
    </sectionGroup> 
</sectionGroup> 

Add seguito nel web.config dell'applicazione

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <security> 
     <authentication> 
      <windowsAuthentication enabled="true" /> 
     </authentication> 
     </security> 
    </system.webServer> 
</configuration> 

seguito collegamento può aiutare: http://learn.iis.net/page.aspx/376/delegating-configuration-to-webconfig-files/

Dopo l'installazione di VS 2010 SP1, l'applicazione dell'opzione 1 + 2 potrebbe essere necessaria per ottenere l'autenticazione di Windows w orking.Inoltre, potrebbe essere necessario impostare l'autenticazione anonima per falso in IIS espresso applicationhost.config:

<authentication> 

      <anonymousAuthentication enabled="false" userName="" /> 
+0

Qualcuno potrebbe farmi sapere perché questo è stato downvoted? Ho attribuito l'autore originale e copiato le informazioni rilevanti qui. Non è utile o infrange alcune regole ok? – thinklarge

11

stare attenti con le modifiche applicationHost.config - in Visual Studio 2015 ho scoperto che a volte risiede a la directory del progetto locale.

Ad esempio:

DRIVE:\MYPROJECT\.vs\config\applicationhost.config 

Se non siete sicuri che applicationhost file di configurazione è in uso, è possibile monitorare l'accesso ai file con ProcMon & poi restringere i risultati sulla base di "Path" per vedere cosa VS in realtà sta leggendo al momento del debug.

Aggiornamento: questo sembra essere il comportamento anche in Visual Studio 2017.

+0

Penso che applicationhost.config sia specifico per il progetto. Probabilmente è meglio modificare questo file invece di quello a livello di configurazione di IISExpress. – Dean

1

In Visual Studio 2017, progetto principale asp.net, l'autenticazione è setup al launchSettings.json

{ 
    "iisSettings": { 
    "windowsAuthentication": false, 
    "anonymousAuthentication": true, 
    "iisExpress": { 
     "applicationUrl": "http://localhost:54491/", 
     "sslPort": 0 
    } 
    }, 
    "profiles": { 
    "IIS Express": { 
     "commandName": "IISExpress", 
     "launchBrowser": true, 
     "launchUrl": "api/values", 
     "environmentVariables": { 
     "ASPNETCORE_ENVIRONMENT": "Development" 
     } 
    }, 
    "TestAspNetCoreProd": { 
     "commandName": "Project", 
     "launchBrowser": true, 
     "launchUrl": "api/values", 
     "environmentVariables": { 
     "ASPNETCORE_ENVIRONMENT": "Development" 
     }, 
     "applicationUrl": "http://localhost:54492" 
    } 
    } 
}