【问题标题】:Programmatically modify WIF service configuration in .NET 4.5在 .NET 4.5 中以编程方式修改 WIF 服务配置
【发布时间】:2012-12-02 15:17:20
【问题描述】:

在带有 Ninject 的 MVC4 应用程序中使用带有 .NET 4.5 的 WIF

情况是这样的——我有一个名为TenantAccessClaimsAuthenticationManager 的自定义ClaimsAuthenticationManager 子类,它可以进行一些声明转换。 TenantAccessClaimsAuthenticationManager 需要注入一个 IRepository 对象(使用 ninject)。

WIF 的 .NET 4.5 impl 建议我可以将自定义声明身份验证管理器粘贴在 web.config 中 - 但是,这种方法只能通过无参数 ctor 实例化对象。

我的第二种方法是在 web.config 中没有任何内容,但在 App_start 中,获取 WIF 配置的句柄并坚持在 RegisterServices 中的 TenantAccessClaimsAuthenticationManager

如何获得当前应用程序的 WIF 配置上下文的句柄? MSDN 文档没有帮助。

编辑:显然问题在于onServiceConfigurationCreated 事件不再可用。现在最好的方法是什么

【问题讨论】:

    标签: asp.net-mvc-4 ninject wif claims-based-identity


    【解决方案1】:

    活动仍然有效!

    code://System.IdentityModel.Services:4.0.0.0:b77a5c561934e089/System.IdentityModel.Services.FederatedAuthentication/event:FederationConfigurationCreated:System.EventHandler

    更具体地说,该活动可通过FederatedAuthentication.FederationConfigurationCreated 获得。下面是一个示例实现:

    FederatedAuthentication.FederationConfigurationCreated += (sender, e) => {
        e.FederationConfiguration.IdentityConfiguration.ClaimsAuthenticationManager = new MyCustomClaimsAuthenticationManager();
    }
    

    http://dunnry.com/blog/2012/12/20/SettingClaimsAuthenticationManagerProgrammaticallyInNET45.aspx 有一篇博文,其中包含更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-07
      • 2011-03-06
      • 1970-01-01
      • 2011-06-18
      • 2016-01-30
      • 2013-07-18
      相关资源
      最近更新 更多