2016-08-12 48 views
0

我在.NET MVC應用程序中有一個新的遺留代碼。如何修復:您沒有權限查看此目錄或頁面?

第一次運行它,提示Windows身份驗證警報登錄我。我已經在web.config中禁用它。

然後看到明顯的驗證碼,但我已經評論它跳。

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(); 
     //} 
    } 

這個事情後,我的應用程序顯示錯誤消息HTTP錯誤401.0 - 未經授權

HTTP Error 401.0 - Unauthorized - image here

,這是我的web配置

<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> 

,這部分的一部分

<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> 

我在想什麼?我已經允許應用程序文件夾,但我認爲還有更多。

任何建議?我在web.config中有一些綁定和端點。

Regards !!

+0

此IIS站點是否配置爲ASP.NET應用程序?如果沒有,這可能只是一個IIS錯誤,而不是ASP.NET。 – Jacob

+1

我在IIS Express中運行應用程序,無需部署。但是我對IIS配置沒有足夠的瞭解。我回答你的問題了嗎? –

回答

0

由於您使用的是Windows主體,因此您應該將認證模式更改爲「Windows」。

+0

但如果我想跳認證如何,我能做什麼? –

相關問題