カスタム Java™ 認証・承認サービス (JAAS) ログイン・モジュールを使用するように、Liberty アプリケーション・クライアント・コンテナーを構成できます。
始める前に
javax.security.auth.spi.LoginModule インターフェースを実装した JAAS カスタム・ログイン・モジュールを含む JAR ファイルがあることを確認します。
このタスクについて
カスタム・ログイン・モジュールを使用することによって、追加の認証の決定を行うか、Subject に情報を追加してアプリケーション内でより細かい許可の決定を行うことができます。JAAS カスタム・ログイン・モジュール
を構成するには、以下の手順を実行します。
手順
- appSecurityClient-1.0 フィーチャーを client.xml ファイルに追加します。
<feature>appSecurityClient-1.0</feature>
- 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 は myCustom です。
- controlFlag 属性を REQUIRED に設定することで、正常な認証を要求するようにカスタム・ログイン・モジュールを構成します。
- libraryRef 属性を、前のステップで構成した <library> エレメントの ID である customLoginLib に設定します。
<jaasLoginModule id="myCustom" className="com.sample.CustomLoginModule" controlFlag="REQUIRED" libraryRef="customLoginLib"/>
- アプリケーション・クライアント・コンテナー ClientContainer でのシステム定義の JAAS 構成の ID と名前を使用して <jaasLogincontextEntry> エレメントを作成します。この JAAS 構成は、WSLogin、または独自の JAAS 構成に設定することも可能です。loginModuleRef 属性で、proxy (プロキシー・ログイン・モジュールの ID) と myCustom (前のステップで作成した jaasLoginModule エレメントの ID) を追加します。
<jaasLoginContextEntry id="ClientContainer" name="ClientContainer"
loginModuleRef="proxy, myCustom"/>