我在.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 !!
此IIS站點是否配置爲ASP.NET應用程序?如果沒有,這可能只是一個IIS錯誤,而不是ASP.NET。 – Jacob
我在IIS Express中運行應用程序,無需部署。但是我對IIS配置沒有足夠的瞭解。我回答你的問題了嗎? –