是否可以在不编辑web.config的情况下获得ACS声明?

是否可以在不编辑web.config的情况下为azure ACS设置领域URL,声明类型等? 你能以某种方式以编程方式设置这些必需的元素吗?

编辑:具体我想摆脱这个:

   

基本上,我不希望在Web配置中指定域,而是在代码中指定。 我已经尝试重写ClaimsAuthenticationManager并将部分注释到与FederatedAuthentication相关的代码中。 我的被​​覆盖的身份validation代码被命中,但它不包含任何声明。 我假设这是因为FederatedAuthentication是一个中介,它在正常访问被覆盖的ClaimsAuthenticationManager之前执行自己的身份validation。 有没有办法以类似的方式覆盖FederatedAuthentication部分? 或者是否有信息传递到重写的身份validation方法,我可以用它来执行我自己的身份validation?

要从Web配置中删除该xml行,我创建了自己的WSFederationAuthenticationModule来覆盖旧的,如下所示:

 public class CustomWSFederationAuthenticationModule : WSFederationAuthenticationModule { protected override void InitializePropertiesFromConfiguration(string serviceName) { this.Realm = "http://localhost:81/"; this.Issuer = "https://acsnamespace.accesscontrol.windows.net/v2/wsfederation"; this.RequireHttps = false; this.PassiveRedirectEnabled = true; } } 

而web.config的重要部分:

     

此外,XML的federatedAuthentication部分也完全删除。

是的,FedUtil就是这么做的。 它是Windows Identity Foundation(WIF)SDK附带的实用程序,您可以从visual studio调用它。

http://msdn.microsoft.com/en-us/library/ee517285.aspx

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=4451

编辑:我可能误解了你的问题。 FedUtil是一个为您配置web.config的实用程序。 如果您想要在代码中配置应用程序,那也是可能的。 MSDN上的WIF文档应该演示如何执行此操作:

http://msdn.microsoft.com/en-us/library/ee766446.aspx