【问题标题】:Debugging website on local IIS without administrative privileges在没有管理权限的本地 IIS 上调试网站
【发布时间】:2016-01-07 13:35:16
【问题描述】:

我的机器上有一个管理帐户,但出于安全原因,我不想以管理员身份运行 Visual Studio。我有 ASP.NET 网站、Windows 10、IIS8。有没有什么方法可以在没有运行池的情况下使用我的凭据调试网站,或者以管理员身份运行 Visual Studio 或任何其他方法,但权限不足?我想调整我的窗口以允许我调试我的应用程序,并且不要使用像“以管理员身份运行”这样的蛮力。

对于winXP存在这篇文章this

【问题讨论】:

  • 这正是引入 IISExpress 的原因。就用那个吧。
  • IISExpress 不是 IIS 的完整版本。对我来说,使用普通 IIS 并找到调试方法比开始使用 IISExpress 更可靠。
  • 能够调试完整的 IIS 版本也很重要,因为您可能需要测试/调查配置转换,这(据我所知)在“就地运行”网站时是不可能的"

标签: c# asp.net iis visual-studio-2015


【解决方案1】:

根据https://msdn.microsoft.com/en-us/library/kd3se23d.aspx

如果您将 ASP.NET 工作进程更改为在您自己的用户帐户下运行,您不必是运行 IIS 的服务器上的管理员。

【讨论】:

  • 这应该被标记为答案。其他两个都不准确。而且,正如第一条评论所述,这就是 IIS Express 存在的原因(因此您不必破解所有内容以使其在正常用户上下文中工作)。
  • 尽管这可能在没有管理员许可的情况下工作,但它不被视为调试最佳实践。 Web 应用程序应在 IIS 上开发,并使用与最终生产环境相同的设置,以消除可能导致错误的差异。由于您不应该在生产中以普通用户帐户运行该应用程序,因此您也不应该在开发机器上以这种方式运行它。 IIS Express 也应该在有限的场景中使用。
  • @Lex,我认为,当帐户的其余部分不是时,以管理员身份运行 VS 也不是最佳实践。
  • @LexLi 生产系统通常不(也不应该)部署 Visual Studio。此外,应配置生产 IIS 部署,以使应用程序池使用所需的权限最少,并且 Web 应用程序实际上需要具有管理权限的应用程序池才能正常运行是不寻常的。如果您从某个来源了解到以管理员身份运行 VS 是一种“最佳实践”,我会找到另一个学习最佳实践的来源。
  • 我已经尝试过这个解决方案,将池配置为在我的凭据下运行(Windows 10),但它似乎无法正常工作。工作进程似乎忽略了该设置并在标准 IIS 用户下运行(我也让我的用户成为 IIS_IUSRS 组的一部分)
【解决方案2】:

我做不到(如我的question 所示)。

Boklucius 的引用是准确的,但我认为那篇文章和current update 具有误导性。我发现在我自己的凭据下运行应用程序池时,除非以管理员身份运行 Visual Studio,否则我仍然无法附加。 Lex Li 观察到这是由于session isolation,而现在我的实验证据表明他是对的。

【讨论】:

    猜你喜欢
    • 2018-12-27
    • 2014-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    • 2013-08-06
    • 2014-11-18
    • 1970-01-01
    相关资源
    最近更新 更多