標準の構成ファイル設定を使用してカスタム ClaimsAuthorizationManager を動作させていますが、実装にビジネス層サービスを挿入したいのですが、それがわかりません。
<system.identityModel>
<identityConfiguration>
<claimsAuthorizationManager
type="Authentication.AuthorizationManager, Assembly" />
<claimsAuthenticationManager
type="Authentication.ClaimsTransformer, Assembly" />
</identityConfiguration>
<system.identityModel>
静的 FederatedAuthentication クラスを使用して手動で設定しようとしましたが、喜びはありませんでした。はClaimsAuthorizationModule
常に null です。
FederatedAuthentication.ClaimsAuthorizationModule.ClaimsAuthorizationManager = DependencyConfig.Container.Resolve<ClaimsAuthorizationManager>();
モジュールがロードされていることを確認するために、この質問の回答を試しました...
FederatedAuthentication.WSFederationAuthenticationModule は実行時に null です
...しかし、それらは効果がありません。また、System.IdentityModel アセンブリと同じ名前のモジュールが既にアプリケーションに含まれているため、これらの情報が古いかどうかも疑問です。
Thinktecture IdentityModel を使用していますが、問題を解決する場所がどこにもありません。この問題はそれを示唆しているようですが、解決策はありません。https://github.com/thinktecture/Thinktecture.IdentityModel/issues/9
null ClaimsAuthorizationModule の問題を解決しました。回答が古かったため、System.IdentityModel.Services アセンブリからクレーム認証モジュールを使用する必要がありました。これで ClaimsAuthManager を挿入できますが、CheckAccess が呼び出されません。