【问题标题】:how to run iisexpress app pool under a different identity如何以不同的身份运行 iisexpress 应用程序池
【发布时间】:2011-03-16 20:14:13
【问题描述】:

有没有办法以不同于当前登录用户的身份运行 iisexpress 应用程序池?

我目前正在使用“runas”命令解决这个问题,但我想知道是否有可以使用的 iisexpress 内置功能。

【问题讨论】:

  • 我正在尝试更好地了解您的情况,您可以通过 sayedha [AT] (microsoft){.com} 给我发电子邮件吗?

标签: visual-studio-2010 iis-express


【解决方案1】:

看起来这应该是可能的。在您的 IIS Express 站点的 applicationhost.config 文件中,<applicationPools> 下的 <applicationPoolDefaults> 中定义了一个 <processModel/> 元素

<processModel> 元素具有userNamepassword 的属性。

来自MSDN

指定 ASP.NET 将使用不同于默认进程标识的 Windows 标识的 Windows 标识运行工作进程。默认情况下,此属性设置为机器,并且进程在安装 ASP.NET 时自动创建的名为 ASPNET 的用户帐户下运行。 ASPNET 帐户的密码是在安装时以加密方式生成的。如果此属性和密码属性中提供了有效凭据,则使用给定帐户运行该过程。

这应该允许您在与登录用户不同的凭据下运行网站。

【讨论】:

  • 获取 applicationhost.config 文件路径的一种方法是单击 IIS Express 系统托盘图标中的显示所有应用程序。然后单击有问题的应用程序。将有一个指向完整配置文件路径的链接。
  • 我很难接受这些更改。我在这里发布了一个问题:stackoverflow.com/questions/28820491/… 有什么想法吗?
【解决方案2】:

我无法使上述解决方案正常工作,我希望能够在不同凭据下运行 IIS Express 时通过 Visual Studio 进行调试。

  1. 使用“以管理员身份运行”打开命令提示符(您需要提升权限)
  2. 在命令提示符下导航到 Visual Studio 的目录(在我的例子中:VS2010 为“cd C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE”)。
  3. runas /netonly /user:[domain]\[userid] devenv.exe
  4. 从 VS 打开您的解决方案并填写您的 TFS 凭据(如果适用)。

您现在可以在作为凭据运行的 IISExpress 下正常调试(假设这是您配置项目的方式)。如果您需要对数据库连接或类似的东西使用集成安全性,但需要使用不同的凭据,这非常有用。

【讨论】:

  • 为我工作,在 Win10 上使用 VS2017。请注意,如果您从未在指定的“runas”帐户下运行 VS,则需要从头开始设置,因此拥有可用的产品密钥可能会很方便:-)
  • 嗨@PhilNicholas - 这就是/netonly 发挥作用的地方:“当您使用 RunAs /netonly 启动程序时,该程序将以您当前登录的用户身份在您的本地计算机上执行,但与网络上其他计算机的任何连接都将使用指定的用户帐户进行”
【解决方案3】:

“runas”只是解决方案。 IIS Express 可能不遵守 applicationhost.config 文件中定义的 processModel 设置。

【讨论】:

    【解决方案4】:

    命令行中的Runas /netonly IISExpress.exe 确实有效,如果您像我们一样迫切需要答案,那么它是非常可行的。 Related post

    【讨论】:

      【解决方案5】:

      我想知道这是否真的有效 - IIS Express 似乎在同一个进程中运行所有应用程序池 - 并且该进程在当前用户的上下文中执行...?

      似乎“运行方式”选项可以工作,但这需要我们从命令行(或构建事件)启动 IIS Express,而不是依赖 Visual Studio 启动它。 :(

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-30
        • 2011-04-20
        • 2022-01-27
        相关资源
        最近更新 更多