将AD FS Web应用程序部署到多个环境

时间:2014-04-11 21:19:06

标签: asp.net deployment adfs

背景:

我有一个ASP.NET Web应用程序,用于与AD FS联合。我正在使用VS 2012,并且有TFS用于源代码控制,构建和部署。

我们目前正在通过将构建服务器(TFS)中的构建文件复制到alpha环境来进行部署。从那里我们将从alpha复制到beta,然后从beta复制到生产。因此,每个环境都没有唯一的构建。我们现在处理特定于环境的设置的方式是有一个配置文件,其中包含每个环境的所有设置。让我们调用此EnvironmentSpecificSettings.config(我将在下面引用它)。每个服务器上都有一个静态文件,指示服务器应该在哪个环境中,因此当读入该配置文件时,可以应用匹配的设置。

问题:

ADFS配置在web.config中处理。有一些特定于环境的东西。我如何在当前的部署范例中处理这个问题?我有几个想法:

  1. 在web.config中包含一个文件引用,该文件引用读取一个不属于部署的静态环境特定文件。
  2. 尝试在Application_Start中提取一些内容,该内容将读取EnvironmentSpecificSettings.config(如上所述)的设置并更改web.config。
  3. 尝试在运行时调整WSFederationAuthenticationModule的配置
  4. 第一个想法(#1)不是最优的,因为它需要在源代码控制之外和部署之外的文件,但它应该足够容易。接下来,#2我认为是不可能的。我不确定你是否可以像我希望的那样改变你的web.config,但也许?最后,#3是合理的,因为我处于特殊情况,我没有进行常规的被动身份验证,而是我手动重定向到adfs,所以我有机会更改设置,例如注入whr参数以避免HRD。因此,我可能无法确定您是否可以动态更改其中的某些值,例如指纹或wsFederation发行商或领域。

    在没有使用变换的visual studio Web部署的情况下,是否有人在处理特定于环境的设置方面有任何更好的想法或经验?

0 个答案:

没有答案