第3章「アイデンティティ・イベント・プラグインAPI」で説明した、イベントと、イベントを処理するために作成できるカスタム・アクションについて、コード例では、いくつかのOracle Access Managerイベントが示されています。ただし、使用できるイベントを検索し、カスタム・コードの挿入に最適な場所を判断する方法は説明されていません。
イベントは、Oracle Access Manager内の対話型のユーザー・リクエストまたはワークフローのライフ・サイクルにおける重要なポイントとして定義されます。各アイデンティティ・システム・アプリケーションでは独自のイベントを定義し、Oracle Access Managerではワークフロー内のライフ・サイクルの各ステップに対応する追加イベントを自動的に生成します。
現時点では、アイデンティティ・システム・アプリケーションのみがイベントを生成します。どのアイデンティティ・システム・アプリケーションがどのイベントを生成するかを判断するには、インストールされているアプリケーション登録ファイルを調べる必要があります。アイデンティティ・システム・アプリケーションの登録ファイルは、次のロケーションにあります。
アプリケーション | 登録ファイル |
---|---|
全アプリケーション共通 | $Identity_install_dir/apps/common/bin/oblixbasereg.xml |
ユーザー・マネージャ | $Identity_install_dir/apps/userservcenter/bin/userservcenterreg.xml |
グループ・マネージャ | $Identity_install_dir/apps/groupservcenter/bin/groupservcenterreg.xml |
組織マネージャ | $Identity_install_dir/apps/objservcenter/bin/objservcenterreg.xml |
これらのファイルのより一般的な使用方法の詳細は、『Oracle Access Managerカスタマイズ・ガイド』のPresentationXMLに関する章を参照してください。
各登録ファイルには、ObProgramという名前のXML要素のセットが含まれています。各ObProgram要素には名前属性があります。これらの名前属性の値は、アイデンティティ・システム・アプリケーションによって生成されるイベントの名前でもあります。
例として、userservcenterreg.xmlから次を抜粋します。
... ... <ObProgram name="view"> <ObStyleSheet name="usc_profile.xsl" /> <ObButton name="initiateDeactivateUser" /> <ObButton name="userreactivate" /> <ObButton name="userModify" /> <ObSchema name="usc_view.xsd" /> </ObProgram> ... ...
viewという名前のObProgram要素に注目してください。viewはイベント名でもあり、この場合は、ユーザー・マネージャの「ID」(個人プロファイル)タブをクリックすると表示されるページに対応するイベントの名前です。
注意: エンドユーザーとしてアイデンティティ・システムと対話しているときに、現在表示されているページのURLを調べることによってもイベントの名前を判断できます。URL問合せ文字列には、form: program=xxxxというパターンがあります。これを調べると、xxxxというイベントの結果としてページが生成されたことがわかります。 |
Oracle Access Managerでは、アプリケーション・イベントの他に、ワークフローで事前に定義されている時点でのカスタム・アクションに関連付けることのできるイベントが生成されます。
ワークフロー・イベントは、アプリケーション・イベントと完全に同じ方法でカタログに定義されます。ただし、その名前は、ワークフロー・ステップの作成時に動的に生成されます。ワークフロー・イベントの名前の形式は次のとおりです。
<workflow>_<sequence>_<type>
ここで、workflowはワークフローの名前、sequenceはワークフロー内のステップの位置を表す整数であり、typeはpreaction(事前アクション)またはpostaction(事後アクション)になります。