2016-08-12 7 views
0

Ich habe einen neuen Legacy-Code in .NET MVC App.WIE FIX: Sie sind nicht berechtigt, dieses Verzeichnis oder diese Seite anzuzeigen?

Wenn Sie es das erste Mal ausführen, fordern Sie den Windows-Authentifizierungsalarm auf, um mich einzuloggen. Ich habe es bereits in der Datei web.config deaktiviert.

Dann sehe ich natürlich einen Authentifizierungscode, aber ich habe es bereits kommentiert, um zu springen.

protected void Application_AuthenticateRequest(object sender, EventArgs e) 
    { 
     //if (!Request.IsAuthenticated) return; 

     //var userPrincipal = new CompanyPrincipal((WindowsIdentity) HttpContext.Current.User.Identity); 
     //var userPrincipal = new CompanyPrincipal(WindowsIdentity.GetCurrent()); 

     //if (userPrincipal.IsAuthenticated) 
     //{ 
      //HttpContext.Current.User = userPrincipal; 
     WindowsPrincipal fakeUser = new WindowsPrincipal(WindowsIdentity.GetCurrent()); 
     HttpContext.Current.User = fakeUser; 
     //} 
     //else 
     //{ 
     // Response.StatusCode = 401; 
     // Response.StatusDescription = "Unauthorized"; 
     // Response.SuppressContent = true; 
     // HttpContext.Current.ApplicationInstance.CompleteRequest(); 
     //} 
    } 

Nach diesem etwas meine App zeigt die Fehlermeldung HTTP-Fehler 401.0 - nicht autorisiert

HTTP Error 401.0 - Unauthorized - image here

Und das ist ein Teil meines Web-Config

<system.webServer> 
     <handlers> 
     <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
     <remove name="OPTIONSVerbHandler" /> 
     <remove name="TRACEVerbHandler" /> 
     <remove name="UrlRoutingModule-4.0" /> 
     <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 
     </handlers> 
    </system.webServer> 

und dieser Teil

<system.web> 
    <compilation debug="true" targetFramework="4.5" /> 
    <httpRuntime targetFramework="4.5" /> 
    <globalization culture="es-MX" uiCulture="es-MX" /> 
    <!--<authentication mode="Windows" />-->  
    <authentication mode="None"/>  
    <authorization> 
     <allow users="*" /> 
     <!--<deny users="*" />--> 
     </authorization> 
    </system.web> 

Was fehlt mir ?? Ich gebe bereits Zulassungen für Anwendungsordner, aber ich denke, da ist noch etwas mehr.

Irgendwelche Vorschläge ?? Ich habe einige Bindungen und Endpunkte in der web.config.

Grüße !!

+0

Ist diese IIS-Site als ASP.NET-App konfiguriert? Wenn nicht, ist dies möglicherweise nur ein IIS-Fehler und nicht ASP.NET. – Jacob

+1

Ich führe die App in IIS Express ohne Bereitstellung aus. aber ich habe nicht genug Wissen über IIS-Konfiguration. habe ich deine Frage beantwortet? –

Antwort

0

Da Sie einen Windows-Prinzipal verwenden, sollten Sie den Authentifizierungsmodus möglicherweise auf "Windows" ändern.

+0

aber wenn ich die Authentifizierung wie überspringen möchte, was kann ich tun ?? –

Verwandte Themen