2

Ninjectを使用したMVC4アプリで.NET 4.5でWIFを使用する

状況は次のとおりです。クレームの変換を行うというカスタムClaimsAuthenticationManagerサブクラスがあります。TenantAccessClaimsAuthenticationManagerにはTenantAccessClaimsAuthenticationManager、(ninject を使用して) IRepository オブジェクトを注入する必要があります。

WIF の .NET 4.5 impl は、カスタム クレーム認証マネージャーを web.config に貼り付けることができることを示唆していますが、このアプローチでは、引数なしの ctor を介してのみオブジェクトをインスタンス化できます。

私が持っていた2番目のアプローチは、web.configには何も入れずApp_startに、WIF構成へのハンドルを取得して、に固執することTenantAccessClaimsAuthenticationManagerですRegisterServices

現在のアプリケーションの WIF 構成コンテキストへのハンドルを取得するにはどうすればよいですか? MSDN ドキュメントは役に立ちません。

編集:明らかに問題は、onServiceConfigurationCreatedイベントが利用できなくなったことです。今これを行う最善の方法は何ですか

4

1 に答える 1

3

イベントまだまだあります!

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にブログ投稿があります。

于 2012-12-20T06:33:54.340 に答える