如何修复:您无权查看此目录或页面?

时间:2016-08-12 22:35:45

标签: c# asp.net xml asp.net-mvc visual-studio

我在.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

这是我的网络配置

的一部分
<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中有一些绑定和结束点。

此致!!

1 个答案:

答案 0 :(得分:0)

由于您使用的是Windows主体,因此您应该将身份验证模式更改为“Windows”。