Liberty アプリケーション・クライアント・コンテナーでの JAAS プログラマチック・ログインの構成
JAAS プログラマチック・ログインを使用するように Liberty アプリケーション・クライアント・コンテナーを構成できます。
始める前に
このタスクについて
JAAS ログイン構成は、
認証のためにどのログイン・モジュールがどのように使用されるのかを指定します。以下に、クライアントで Liberty によって提供される JAAS ログイン構成を示します。
- WSLogin JAAS ログイン構成: Liberty アプリケーション・クライアント・コンテナー・アプリケーションがユーザー ID とパスワードに基づく認証を実行するために使用できる、汎用 JAAS ログイン構成です。ただし、この構成は、クライアント・アプリケーション・モジュールのデプロイメント記述子に指定された CallbackHandler ハンドラーをサポートしません。
- ClientContainer JAAS ログイン構成: この JAAS ログイン構成は、クライアント・アプリケーション・モジュールのデプロイメント記述子に指定された CallbackHandler ハンドラーを (指定されていれば) 認識します。デプロイメント記述子にハンドラーが指定されていない場合、
プログラマチックに指定されたハンドラーが使用されます。
JAAS ログイン構成によって指定されたログイン・モジュールは、 特定の認証テクノロジーを実装します。ログイン・モジュールは、 javax.security.auth.callback.CallbackHandler インターフェースを使用して、ユーザーから資格情報を収集できます。 Liberty は、com.ibm.websphere.security.auth.callback.WSCallbackHandlerImpl という名前の、CallbackHandler インターフェースの非プロンプト実装を提供します。この実装により、アプリケーション開発者は、ユーザーにプロンプトを出すことなく、資格情報をアプリケーション内で直接指定できます。CallbackHandler 実装を指定するには、次の 2 つの方法があります。
- javax.security.auth.login.LoginContext コンストラクターの引数として、実装をプログラマチックに指定します。
以下に例を示します。
LoginContext logincontext = new LoginContext("ClientContainer", new WSCallbackHandlerImpl("user", "password"));
- クライアント・アプリケーション・モジュールのデプロイメント記述子 (application-client.xml) に実装名を指定します。以下に例を示します。
<callbackhandler>com.acme.callbackhandler.WSCallbackHandlerImpl/<callbackhandler>
- javax.security.auth.login.LoginContext コンストラクターの引数として、実装をプログラマチックに指定します。
以下に例を示します。
注: WSLogin ログイン構成は、
デプロイメント記述子に CallbackHandler ハンドラーを指定するという 2 番目のオプションを認識しません。