2012-07-27 30 views
9

Moja aplikacja MVC do niedawna działała poprawnie (z członkostwem asp/net jako częścią rozwiązania). Jednak bez świadomej zmiany niczego związanego z każdym żądaniem, nawet do mojego kontrolera domowego (który nie ma żadnych atrybutów autoryzacji itp.).Wszystkie żądania otrzymujące błąd HTTP 401.2 - Nieautoryzowana odpowiedź

Wziąłem wszystkie wpisy z pliku web.config teraz dotycząca zezwolenia, a ja sprawdzić ApplicationHost.config który posiada następujące:

<access sslFlags="None" /> 

     <applicationDependencies> 
      <application name="Active Server Pages" groupId="ASP" /> 
     </applicationDependencies> 

     <authentication> 

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

      <basicAuthentication enabled="false" /> 

      <clientCertificateMappingAuthentication enabled="false" /> 

      <digestAuthentication enabled="false" /> 

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

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

     </authentication> 

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

Czy ktoś może sugerować, co może być powodując to?

Dzięki

Dalsze informacje na ten temat, przeszedłem do korzystania z pełnego IIS i jego pracy w porządku teraz, więc wygląda na to jego problem IIS Express. Jakieś wskazówki dotyczące przyczyny? Czy nie ma pełnego tekstu ekspresowego IIS innego niż ikona paska zadań?

Odpowiedz

24

Option 1:

W czeku ApplicationHost.config jeśli istnieje jakakolwiek pozycja, jak pokazano poniżej. Jeśli istnieje taka zmiana, anonymousAuthetication włączyło wartość od "false" do "true".

<location path="YOUR-APPLICATION-NAME"> 
    <system.webServer> 
     <security> 
      <authentication> 
       <anonymousAuthentication enabled="false" /> 
      </authentication> 
     </security> 
    </system.webServer> 
</location> 

Option 2:

Jeśli używasz visual studio, upewnij się, że anonymousAuthentication jest włączony. enter image description here

+0

Albo jeśli chcesz użyj wbudowanego uwierzytelnienia Active Directory, zmień "Uwierzytelnienie Windows" na Włączone i pozostaw "Wyłączone uwierzytelnianie" wyłączone. –

+0

Miałem coś podobnego z ** Windows Authentication **, i musiałem się zmienić jak na powyższym obrazku w okienku właściwości moich projektów z ** Disabled ** to ** Enabled ** and bingo, to było dobre. –