構成を編集することで、Liberty プロファイルのカスタム・ログイン・モジュールを使用して、JAAS 構成 (system.WEB_INBOUND) を構成できます。JAAS は、カスタマイズしない場合は、構成する必要はありません。
始める前に
サーバー構成の基礎となるプロセスについて、また、サーバー構成の具体的な特徴に関する詳細については、『Liberty プロファイルの手動による管理』を参照してください。
トラブルの回避: 開発者ツールは、loginModuleRef エレメントを使用して、JAAS ログイン・モジュールへの参照を作成します。
これを変更して、jaasLoginContextEntry エレメントの loginModuleRef 属性を使用する必要があります。Liberty プロファイルでアプリケーションのセキュリティーを構成する際に参照できるよう、WASdev.net Web サイトにいくつかのセキュリティー構成例があります。
手順
- 「JAAS ログイン・コンテキスト・エントリー」を選択して、「追加」をクリックし、ログイン・モジュール名を入力します。 この例では、カスタム・ログイン・モジュール myCustom がログイン・プロセスの始めに追加されます。システム提供のログイン・モジュール (hashtable、userNameAndPassword、certificate、token) は必須です。
- 「JAAS ログイン・モジュール: myCustom」を選択し、「ID」と「クラス名」を入力してカスタム・ログイン・モジュールを構成し、次に「追加」ボタンの横の矢印をクリックし、「グローバル・エレメント」を選択して共有ライブラリー情報を入力します。 この例では、カスタム・ログイン・モジュールの名前に対応する「ID」は、myCustom です。
- ポップアップ・パネルで共有ライブラリーの「ID」を入力し、「OK」をクリックします。 この例では、「ID」は、共有ライブラリーの名前 customLoginLib に対応しています。
- 共有ライブラリーの「名前」フィールドと「説明」フィールドを構成し、次に「追加」ボタンの横の矢印をクリックし、「子エレメント」を選択して、「ファイル・セット」参照を子エレメントとして追加します。
- 「ファイル・セット」を構成します。 「ベース・ディレクトリー」フィールド内の「参照」をクリックし、JAR ファイルがあるディレクトリーを選択します。次に、「組み込むパターン」フィールドの「参照」をクリックし、カスタム・ログイン・モジュール実装が含まれた JAR ファイルを選択します。 この例では、カスタム・ログイン・モジュール実装 JAR ファイルは CustomLoginModule.jar であり、${server.config.dir} ディレクトリーにあります。
- オプション: カスタム・ログイン・モジュールでオプションが必要な場合は、「JAAS ログイン・モジュール」を右クリックし、「追加」を選択してから、「ログイン・モジュール・オプション」を選択します。
- 構成を保存してください。server.xml ファイルに、以下の構成が保存されています。
<jaasLoginContextEntry name="system.WEB_INBOUND" id="system.WEB_INBOUND">
<loginModuleRef>myCustom, hashtable, userNameAndPassword, certificate, token</loginModuleRef>
</jaasLoginContextEntry>
<jaasLoginModule className="com.sample.CustomLoginModule"
id="myCustom" libraryRef="customLoginLib">
</jaasLoginModule>
<library id="customLoginLib" name="customLoginLib"
description="Custom login module shared library">
<fileset dir="${server.config.dir}" includes="CustomLoginModule.jar"/>
</library>
- 必須: 構成が機能するようにするには、jaasLoginContextEntry エレメントを変更して loginModuleRef 属性を含める必要があります。loginModuleRef エレメントを削除して、jaasLoginContextEntry エレメントの属性として追加する必要があります。
loginModuleRef 属性を使用した構成の例を以下に示します。
<jaasLoginContextEntry name="system.WEB_INBOUND" id="system.WEB_INBOUND"
loginModuleRef="myCustom, hashtable, userNameAndPassword, certificate, token" />
<jaasLoginModule className="com.sample.CustomLoginModule"
id="myCustom" libraryRef="customLoginLib">
</jaasLoginModule>
<library id="customLoginLib" name="customLoginLib"
description="Custom login module shared library">
<fileset dir="${server.config.dir}" includes="CustomLoginModule.jar"/>
</library>