Liberty サーバーのログイン・モジュールを構成する前または後に、カスタム Java™ Authentication
and Authorization Service (JAAS) ログイン・モジュールを構成することができます。
このタスクについて
カスタム・ログイン・モジュールを使用することによって、追加の認証の決定を行うか、Subject に情報を追加してアプリケーション内でより細かい許可の決定を行うことができます。より詳細な概要については、『JAAS 構成』および
『JAAS ログイン・モジュール』を参照してください。
また、開発ツールを使用してカスタム JAAS ログイン・モジュールを構成することもできます。
『開発者ツールを使用した Liberty での JAAS の構成』を参照してください。Liberty でアプリケーションのセキュリティーを構成する際に参照できるよう、WASdev.net Web サイトにいくつかのセキュリティー構成例があります。 『開発者ツールを使用した Liberty での JAAS の構成』を参照してください。
JAAS カスタム・ログイン・モジュール
を構成するには、以下の手順を実行します。
手順
- server.xml ファイルで appSecurity-2.0
Liberty フィーチャーを使用可能にします。
<featureManager>
<feature>appSecurity-2.0</feature>
</featureManager>
- LoginModule インターフェースを実装するクラス com.sample.CustomLoginModule を作成し、それを CustomLoginModule.jar ファイルにパッケージします。
- CustomLoginModule.jar ファイルの場所を示す <fileset> エレメントを使用する <library> エレメントを作成します。この例では、ライブラリーの id は customLoginLib です。
<library id="customLoginLib">
<fileset dir="${server.config.dir}" includes="CustomLoginModule.jar"/>
</library>
- <jaasLoginModule> エレメントを作成します。この例では、id は custom です。
- controlFlag 属性を REQUIRED に設定することで、正常な認証を要求するようにカスタム・ログイン・モジュールを構成します。
- 前のステップで構成した <library> エレメントの id である customLoginLib に libraryRef 属性を設定します。このログイン・モジュールには、以下の 2 つのオプションもあります。UserRegistry は ldap で、mapToUser は user1 です。
<jaasLoginModule id="myCustom"
className="com.sample.CustomLoginModule"
controlFlag="REQUIRED" libraryRef="customLoginLib">
<options myOption1="value1" myOption2="value2"/>
</jaasLoginModule>
- システム定義 JAAS 構成 system.WEB_INBOUND の id および固有の name を使用して <jaasLogincontextEntry> エレメントを作成します。
この JAAS 構成は、system.DEFAULT、WSLogin、または独自の JAAS 構成に設定することも可能です。
loginModuleRef 属性で、前のステップで作成した jaasLoginModule エレメントの id である custom を追加します。この id をリストの先頭に入力した場合は、それが呼び出される最初の JAAS ログイン・モジュールになります。
その他のデフォルト・ログイン・モジュール hashtable、userNameAndPassword、certificate、および token をリストする必要もあります。
<jaasLoginContextEntry id="system.WEB_INBOUND" name="system.WEB_INBOUND"
loginModuleRef="myCustom, hashtable, userNameAndPassword, certificate, token" />
注: オプション名は、ピリオド (.)、config.、
または service で始まってはならず、固有でなければなりません。また、プロパティー名 id および ID は許可されません。
<jaasLoginContextEntry> エレメント、
<jaasLoginModule> エレメント、<options> エレメント、および <library> エレメントについて詳しくは、Application Security 2.0 を参照してください。