【问题标题】:Access Denied error after setting up MVC application设置 MVC 应用程序后访问被拒绝错误
【发布时间】:2020-12-08 00:39:39
【问题描述】:

访问被拒绝。

描述:访问所需资源时出错 来满足这个请求。服务器可能未配置为访问 请求的 URL。

错误消息 401.2.:未经授权:由于服务器原因登录失败 配置。验证您是否有权查看此目录 或基于您提供的凭据和身份验证的页面 Web 服务器上启用的方法。联系 Web 服务器的 管理员以获得更多帮助。 版本信息:Microsoft .NET Framework 版本:4.0.30319; ASP.NET > 版本:4.0.30319.18010

我按照here 的简单教程,运行应用程序并收到此消息。

【问题讨论】:

  • 什么是托管环境?我的意思是您可以访问文件系统吗?或者您在共享主机上,或者您正在直接使用 Visual Studio 调试您的应用程序?
  • 尝试以管理员身份打开VS。您是否设置了 IIS 或 IIS Express?
  • 我正在使用 Visual Studio 直接调试它,是的,我也尝试以管理员身份打开 VS
  • 你用的是哪个VS和windows版本?
  • visual studio 2012 Ultimate RC 和 windows 8

标签: c# asp.net-mvc-4


【解决方案1】:

检查您的项目属性并确保匿名身份验证 = 启用。如果您的 web.config 中有 <authentication mode="Windows" />,您还需要为项目设置 Windows Authentication = Enabled(单击解决方案资源管理器中的项目):

这样做的效果是改变项目文件(.csproj)的说法:

<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />

收件人:

<IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
<IISExpressWindowsAuthentication>enabled</IISExpressWindowsAuthentication>

所以你也可以手动完成,或者通过修改内网项目模板永久修复。

【讨论】:

  • 第一项(匿名身份验证)已设置,但第二项(Windows 身份验证)未设置。我启用了 Windows Auth,之后它就可以工作了。谢谢。
  • 确保以管理员身份运行 Visual Studio。这与上面的解决方案一起为我解决了同样的问题
【解决方案2】:

所以我只是想插话一些对我有用的东西。我创建了一个新的“ASP.Net MCV 4 Web 应用程序”并使用了“Intranet Application”项目模板。我必须启用“Windows 身份验证”。我认为这是因为我选择了 intranet 应用程序模板而不是 internet 应用程序模板。

【讨论】:

    【解决方案3】:

    基本上首先允许用户或角色访问

    默认 web.config 拒绝访问

    <authorization>
      <deny users="?" />
    </authorization>
    

    所以一定要允许自己

    <authorization>
      <allow users="domain\User" />
      <deny users="?" />
    </authorization>
    

    【讨论】:

      【解决方案4】:

      我今天在 Visual Studio 中构建应用程序时遇到了同样的问题。项目文件以某种方式损坏。不允许做任何事情(修改 web.config 文件)。关闭一切并重新打开。它以前使用相同的配置 匿名身份验证=启用 Windows 身份验证=禁用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-08-22
        • 1970-01-01
        • 2013-05-09
        • 1970-01-01
        • 2012-10-14
        • 2019-07-20
        • 1970-01-01
        相关资源
        最近更新 更多