アサーション コンテンツのカスタマイズ

目次
sm1252sp1jjp
目次
2
AssertionGeneratorPlugin の実装
カスタム アサーション ジェネレータ プラグインの作成の最初の手順は、AssertionGeneratorPlugin インターフェースの実装です。以下の要件が実装クラスに適用されます。
  • 実装では、パラメータが含まれないデフォルトのパブリック コンストラクタ メソッドを提供します。
  • 実装はステートレスである必要があり、その結果、多くのスレッドで単一のプラグイン クラスが使用可能となります。
  • 実装には、customizeAssertion メソッドへのコールが含まれる必要があります。要件に示されているように、これらのメソッドの既存の実装は上書きできます。サンプル プログラムを参照してください。
  • 構文の要件および customizeAssertion メソッドに渡されるパラメータ文字列の使用は、カスタム オブジェクトで設定されます。
: フォルダ
federation_sdk_home
\\sample\com\ca\federation\sdk\plugin\sample には 2 つのサンプル実装クラスが含まれています。
アサーション ジェネレータ プラグインの展開
AssertionGeneratoPlugin インターフェース用の実装クラスをコード化した後、それをコンパイルし、Federation が実行可能ファイルを検索できることを確認します。
アサーション ジェネレータ プラグインを展開する方法
  1. 以下のいずれかの方法でアサーション プラグイン コードをコンパイルします。
    • サンプル プラグインを使用している場合は、プラットフォームのビルド スクリプトを使用してプラグインをコンパイルします。ビルド スクリプトは、ディレクトリ
      federation_sdk_home
      \sample にインストールされます。ビルド スクリプトは次のとおりです。
      Windows:
      build_plugin.bat
      UNIX:
      build_plugin.sh
      コンパイルされたサンプル プラグイン、fedpluginsample.jar は、ディレクトリ
      federation_sdk_home
      \jar にあります。
    • 独自のプラグインを書く場合は、プラグインをコンパイルするときに smapi.jar をインクルードします。
  2. JVMOptions.txt ファイルで、プラグインのクラスパスをインクルードするように、-Djava.class.path 値を変更します。ディレクトリ
    federation_install_dir
    \siteminder\config 内の JVMOptions.txt ファイルを見つけます。
    任意のディレクトリにプラグイン jar を配置し、JVMOptions.txt ファイルがそれを参照するよう設定できます。サンプル プラグインを使用するには、fedpluginsample.jar を参照するようクラスパスを変更しますが、smapi.jar 用のクラスパスは変更しないでください。
    注: プラグインで Apache Xerces または Xalan を使用するには、Federation と共にインストールされた Xerces または Xalan のバイナリ ファイルを使用します。これらのバイナリは Federation SDK ではインストールされません。互換性の理由でこれらのファイルを使用する必要があります。
  3. Federation サービスを再起動します。
    サービスを再起動することにより、Federation がアサーション ジェネレータ プラグインの最新バージョンを必ず使用するようにします。
アサーション ジェネレータ プラグインの有効化
アサーション ジェネレータ プラグインを作成してコンパイルした後に、Federation UI 内で設定することにより、このプラグインを有効にします。UI パラメータにより、Federation がプラグインの場所を認識できます。
プラグインを展開するまで、プラグイン設定を実行しないでください。
アサーション ジェネレータ プラグインを有効にする方法
  1. 管理 UI にログオンします。
  2. 変更するパートナーシップのパートナーシップ ウィザードのアサーション設定手順に移動します。
  3. 以下の後に[アサーション ジェネレータ プラグイン]設定の値を入力します。
    • プラグイン クラス
      プラグインの Java クラス名を指定します。名前を入力します。このプラグインはランタイムで呼び出されます。
      例: com.mycompany.assertiongenerator.AssertionSample
      プラグイン クラスは、アサーションの解析および変更を行った後、最終的な処理のために結果を Federation に返します。各依存パーティのアサーション ジェネレータ プラグインを指定します。コンパイルしたサンプル プラグインは SDK に含まれています。コンパイルされたアサーション プラグインのサンプルは、ディレクトリ
      federation_sdk_home
      \jar で参照できます。
      注: Federation サンプル プラグイン用のソース コードは、federation_sdk_home\sample\com\ca\federation\sdk\plugin\sample ディレクトリにあります。
    • プラグイン パラメータ
      (オプション)。Federation がランタイムでパラメータとしてプラグインへ渡す文字列を指定します。文字列にはあらゆる値を含めることができ、従う特定の構文はありません。
      プラグインは、受信するパラメータを解釈します。たとえば、パラメータは属性の名前などです。または、文字列には、何かを実行するようにプラグインに指示する整数を含めることができます。
参照情報(メソッドの署名、パラメータ、戻り値、データ型)、および UserContext クラスと APIContext クラスのコンストラクタが「
Javadoc Reference
」にあります。Javadoc の AssertionGeneratorPlugin インターフェースを参照してください。