【问题标题】:MVC Gives Access Is Denied After Windows 10 UpgradeWindows 10 升级后 MVC 拒绝访问
【发布时间】:2016-06-28 02:25:01
【问题描述】:

首先我想说的是,虽然我已经编程了 20 年,但我从未精通安全问题。他们一直困扰着我。所以如果你不把它弄糊涂,我就听不懂你在说什么。

我有一个运行良好的现有 ASP.NET MVC 网站。过去我可以在 Visual Studio 中毫无问题地调试它。然后我的雇主将我的开发机器升级到 Windows 10。现在,每当我以调试模式启动时,网站都会显示访问被拒绝。错误继续说:

401.2.:未经授权:由于服务器配置,登录失败。

我仍然可以在 IIS 7 上运行的 Internet Explorer 中打开相同的本地副本(我认为),但是当我尝试从 Visual Studio 运行它时,我得到了拒绝访问。所以也许我需要关注开发服务器中的配置,如果这是正确的术语。我正在使用 Windows 身份验证和基于角色的安全性。我查看了 IIS 配置(我不明白这比安全性好多少),似乎启用了 Windows 身份验证。这就是我所知道的一切。我希望有人知道如何解决这个问题。我在 StackOverflow 上查看了类似的问题,并且在 MSDN 上看到了一些类似的错误解决方案,但没有一个对我有帮助。至少他们是按小时付钱给我的。

【问题讨论】:

  • 什么版本的 Visual Studio?
  • Visual Studio 2012.

标签: c# asp.net-mvc


【解决方案1】:

基于其他问题(IIS Express gives Access Denied error when debugging ASP.NET MVCError message 401.2.: Unauthorized: Logon failed due to server configuration. When application deployed)和我对 IIS 的理解,我猜想在配置链的某个地方,Windows 身份验证未启用。你的项目是在 IIS Express 还是 IIS 下调试的? IIS Express 会有不同的设置。是所有操作都失败了,还是只是标记为[Authorize] 的操作?检查项目属性(右键单击项目,点击“属性”),以及选择项目时的“属性”窗格(是的,这太疯狂了——使用默认键绑定,在解决方案资源管理器并按 F4)——我特别认为后一种设置可能是您受到打击的地方。

【讨论】:

  • 我在属性的 Web 部分检查了一个“NLTM”框,现在它似乎在搜索角色提供者,所以我认为这可能已经解决了 Access Is Denied 错误,但我得到了另一个可能不相关,error.now 说明了 MVC.dll 中的问题。这听起来很熟悉吗?我已断开与远程桌面的连接,现在我得休息一下,所以我明天可能要处理这个问题。
【解决方案2】:

我通过恢复到上一个​​稳定版本来清理我的项目,并尝试在调试中再次运行该项目。这次它给了我一个错误,说我需要以管理员身份运行 Visual Studio 才能进行调试。所以我关闭了 Visual Studio 并使用以管理员身份运行重新启动它。问题解决了。我能够正常运行调试。可能 Windows 10 中关于 UAC 安全性的某些不同之处导致调试无法像以前那样工作。

【讨论】:

    猜你喜欢
    • 2015-11-14
    • 2018-03-15
    • 2015-04-15
    • 2022-11-12
    • 1970-01-01
    • 2018-11-20
    • 2020-02-12
    • 1970-01-01
    • 2015-08-22
    相关资源
    最近更新 更多