【问题标题】:ASP.NET Web API Application Pool for each Controller with different user具有不同用户的每个控制器的 ASP.NET Web API 应用程序池
【发布时间】:2015-01-21 11:02:01
【问题描述】:

我想在 ASP.NET Web API 中定义一个单独的“应用程序池”
为每个具有不同用户的控制器执行

我希望它为每个控制器定义一个单独的用户名,而无需使用 Impersonation 类。 每个控制器的每个应用程序池 (w3wp.exe) 的每个用户凭据

在 ASP.NET 经典(和 WCF)中,我为每个托管和定义自己的本地 web.config 的处理程序(ASMX 或自定义)使用文件夹,并在 IIS 中为每个文件夹进行配置(将定义为 IIS 应用程序)

其中一种选择是:为每个控制器创建多个 Web 应用程序 - 糟糕的设计 这是我宁愿避免的选择......

我的情况是: 我必须在 3 个不同的应用程序用户帐户下运行和执行 3 个服务, 我知道使用模拟类的选项和替代方法,并在代码本身中提供用户名和密码, 该选项不好,因为我必须在配置文件中保存和管理用户名和密码... 我希望用户名和密码处于 IT 团队配置的服务级别,作为应用程序池 IIS 配置的一部分

我可以为每个控制器使用 Web API 来获取此操作和功能吗?

谢谢 Itzik BS

【问题讨论】:

    标签: iis asp.net-web-api impersonation


    【解决方案1】:

    据我所知,这是不可能的,因为应用程序池是为每个 Web 应用程序设置的。

    您可以创建多个 Web 应用程序,每个应用程序都托管一个控制器,但这听起来不是一个好的解决方案。

    如果您提供更多详细信息,说明您尝试使用此解决方案解决的问题,也许会有所帮助。

    【讨论】:

    • 嗨 Julien 创建多个 Web 应用程序 - 这是我希望避免的选项...
    • 嗨 Julien,创建多个 Web 应用程序 - 这是我希望避免的选项... 场景是:我必须在 3 个不同的应用程序用户帐户下运行和执行 3 个服务,我知道该选项并且使用模拟类并在代码本身中提供用户名和密码的替代方法,该选项不好,因为我必须在配置文件中保存和管理用户名和密码......我希望用户名和密码将处于服务级别由 IT 配置为应用程序池 IIS 配置的一部分
    • 不幸的是,您真的没有其他选择。 AppPools 是 IIS 中的每个应用程序。如果您不想最终管理多个应用程序,则必须自己在代码中管理它并存储身份以用于模拟目的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 1970-01-01
    • 2015-03-21
    • 2015-04-06
    • 1970-01-01
    相关资源
    最近更新 更多