我们正在更新使用ADFS 2.0身份验证的ASP.NET网站项目,以使用单击“发布网站”部署过程。我们目前为每个环境(dev,test,prod)提供了三个不同的FederationMetadata.xml文件。我们如何将这些文件发布到每个环境?
我们使用web配置转换文件作为web.config文件。但我不相信这可以用于xml文件?从我所做的搜索中我发现了两个可能的反应,看起来都不是很好。首先说要删除FederationMetadata文件并手动配置ADFS 2.0(How do I change my WCF's FederationMetadata.xml file for various deployments?)。我们可以做到这一点,但似乎倒退了一步。第二种方法是创建一个虚拟的FederationMetadata文件并将其填充到global.asax.cs文件中。 (How to deploy asp.net web application to development team via TFS when setting up ADFS authentication)。这种方法似乎很苛刻,几乎不是推荐的方法。
这是否有推荐的方法?我有没有看到明显的东西?对此有任何想法将不胜感激!
答案 0 :(得分:1)
如果您确实设法使web.config正确,那么您可以动态生成元数据(按请求)。所有环境的代码相同。不需要静态文件。
仅用于类名的电报样式:对于Forms ASP.NET应用程序,它将是一个HttpHandler(对于MVC一个控制器)。在处理程序中,您必须构建ApplicationServiceDescriptor,并使用MetadataSerializer来吐出XML。使用FederatedAuthentication.WSFederationAuthenticationModule(已从web.config获取)中的信息填充它。