この章では、OAAM拡張共有ライブラリを使用してOracle Adaptive Access Managerをカスタマイズする方法について説明します。
この項の内容は、次のとおりです。
共有ライブラリは、複数のアプリケーションで使用できるプログラミングとデータの集合です。共有ライブラリによって、共通プログラミングとリソースを共有することでアプリケーションがメモリーを効率的に使用できるようになります。Oracle Adaptive Access Managerをカスタマイズするには、カスタムJARファイルとその他のファイルをOAAM拡張共有ライブラリに追加します。
この共有ライブラリ、oracle.oaam.extensions.war
はIAM_Home/oaam/oaam_extensions/generic
にあります。これは、OAAMサーバーとOAAM管理サーバーの両方にデプロイされます。デフォルトでは、oracle.oaam.extensions.war
に、共有ライブラリの定義を保存したMANIFEST.MF
が含まれています。
Oracle Adaptive Access Managerのプロパティをオーバーライドしたり、Oracle Adaptive Access Managerの列挙を拡張するには、そのプロパティと列挙をoaam_custom.propertiesに追加して、そのファイルをWEB-INF\classes
ディレクトリまたはWEB-INF\classes\bharosa_properties
ディレクトリに配置します。
ユーザー定義列挙は、アイテムのリストを表すプロパティの集合です。リスト内の各要素には、複数の異なる属性が含まれている場合があります。ユーザー定義列挙の定義はキーワード.enumで終わるプロパティで始まり、ユーザー定義列挙の使用を記述する値が続きます。各要素定義は、列挙と同じプロパティ名に要素名が追加されたもので始まり、IDである一意の整数の値が続きます。要素の属性も同じパターンに従い、要素のプロパティ名で始まり、その後に属性名がその属性の適切な値とともに示されます。
OAAMサーバー実装のログイン画面に表示される、列挙定義資格証明の例を次に示します。
bharosa.uio.default.credentials.enum = Enum for Login Credentials bharosa.uio.default.credentials.enum.companyid=0 bharosa.uio.default.credentials.enum.companyid.name=CompanyID bharosa.uio.default.credentials.enum.companyid.description=Company ID bharosa.uio.default.credentials.enum.companyid.inputname=comapanyid bharosa.uio.default.credentials.enum.companyid.maxlength=24 bharosa.uio.default.credentials.enum.companyid.order=0 bharosa.uio.default.credentials.enum.username=1 bharosa.uio.default.credentials.enum.username.name=Username bharosa.uio.default.credentials.enum.username.description=Username bharosa.uio.default.credentials.enum.username.inputname=userid bharosa.uio.default.credentials.enum.username.maxlength=18 bharosa.uio.default.credentials.enum.username.order=1
次の手順に従って、カスタマイズをOracle Adaptive Access Managerに追加します。
プロパティbharosa.uio.proxy.mode.flag=true
が設定されていることを確認します。
oaam_extensions
という作業フォルダを作成します。
このフォルダは、インストール・フォルダ以外であればどこにでも作成できます。
oracle.oaam.extensions.warを作業フォルダで解凍します。
oaam_extensions
フォルダに、次のサブフォルダを作成します。
META-INF
WEB-INF
WEB-INF\lib
WEB-INF\classes
META-INF
フォルダにMANIFEST.MF
というファイルを作成し、そのファイルに次の行が含まれていることを確認します。
Extension-Name: oracle.oaam.extensions Specification-Version:99.9.9.9.9 Implementation-Version:99.9.9.9.9
仕様バージョンと実装バージョンは、現在のファイルにあるバージョン以上である必要があります。たとえば、ファイルの実装バージョンが11.1.1.3.0の場合は、99.9.9.9.9に変更できます。バージョンが増分されない場合は、エラーがスローされます。
JARファイルを$ORACLE_IDM_HOME\oaam\cli\lib
フォルダからビルド・クラス・パスに追加して、Oracle Adaptive Access Managerのクラスを拡張または実装するカスタムJavaクラスをコンパイルします。
カスタムJARファイルをIAM_Home\oaam\oaam_extensions\generic\WEB-INF\classes
フォルダに追加します。
カスタム・プロパティをoaam_custom.properties
というファイルに追加し、そのファイルをIAM_Home\oaam\oaam_extensions\generic\WEB-INF\classes
フォルダに保存します。
列挙に関する情報は、第7.2項「列挙の編集によるOAAMのカスタマイズ」に記載されています。
カスタムJSPをoaam_extensions
フォルダに追加します。
次のコマンドを使用して、oracle.oaam.extensions.war
ファイルをoaam_extensions
の親フォルダから再パッケージします。
jar -cvfm oracle.oaam.extensions.war oaam_extensions\META-INF\MANIFEST.MF -C oaam_extensions/ .
Oracle Adaptive Access ManagerがデプロイされているOracle WebLogicサーバーを起動して、Oracle WebLogic管理コンソールにログインします。
oaam_server
およびoaam_admin
をターゲット・アプリケーションとするoracle.oaam.extensions.war
ファイルを、共有ライブラリとしてデプロイします。
古いWARファイルを削除します。
カスタム機能をテストして、oracle.oaam.extensions.war
に追加したファイルをOracle Adaptive Access Managerアプリケーションが使用していることを確認します。