BasicAuth 認証メソッドを使用した場合、
生成されるセキュリティー・トークンは <wsse:UsernameToken> エレメントで、
そこには <wsse:Username> エレメントと <wsse:Password> エレメントが含まれています。
WebSphere Application Server は、テキスト・パスワードはサポートしていますが、パスワード・ダイジェストはサポートしていません。これは、パスワードが保管されず、サーバーから取得することができないためです。
要求送信側では、コールバック・ハンドラーを起動してセキュリティー・トークンを生成します。
要求受信側では、Java Authentication and Authorization Service (JAAS) ログイン・モジュールを使用してセキュリティー・トークンを検証します。この 2 つの操作 (トークンの生成とトークンの検証) については、
以降のセクションで説明します。
- BasicAuth トークンの生成
- 要求送信側は、コールバック・ハンドラーを使用して BasicAuth セキュリティー・トークンを生成します。
コールバック・ハンドラーが戻すセキュリティー・トークンは、SOAP メッセージに挿入されます。使用するコールバック・ハンドラーは、
バインディング・ファイル ibm-webservicesclient-bnd.xmi の <LoginBinding> エレメントで指定します。
WebSphere Application Server では、
次のコールバック・ハンドラー・インプリメンテーションが提供され、BasicAuth 認証メソッドではこれらを使用できます。
- com.ibm.wsspi.wssecurity.auth.callback.GUIPromptCallbackHandler
- com.ibm.wsspi.wssecurity.auth.callback.StdinPromptCallbackHandler
- com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler
javax.security.auth.callback.CallbackHandler メソッドをインプリメントする独自のコールバック・ハンドラーを追加することもできます。
- BasicAuth トークンの検証
- 要求受信側は、SOAP メッセージから BasicAuth セキュリティー・トークンを取得し、JAAS ログイン・モジュールを使用してそのセキュリティー・トークンを検証します。
検証の実行には、
セキュリティー・トークンに含まれる <wsse:Username> エレメントと <wsse:Password> エレメントが使用されます。
検証に成功すると、ログイン・モジュールは JAAS サブジェクトを戻します。このサブジェクトが実行スレッドの ID として設定されます。
検証に失敗した場合は、SOAP 障害例外が出されて、要求はリジェクトされます。
JAAS ログイン構成は、
バインディング・ファイルの <LoginMapping> エレメントで指定します。
デフォルト・バインディングは、
ws-security.xml ファイルで指定します。
しかし、アプリケーション固有の ibm-webservices-bnd.xmi ファイルを使用してそのバインディングをオーバーライドすることができます。
構成情報は、CallbackHandlerFactory と ConfigName 値で構成されています。
CallbackHandlerFactory オプションは、
JAAS CallbackHandler オブジェクトの作成に使用されるクラスの名前を指定します。
WebSphere Application Server は、
com.ibm.wsspi.wssecurity.auth.callback.WSCallbackHandlerFactoryImpl CallbackHandlerFactory インプリメンテーションを提供します。
ConfigName 値は、JAAS 構成名エントリーを指定します。
WebSphere Application Server は、security.xml ファイルで一致する構成名エントリーを検索します。
一致するものが見つからない場合は、wsjaas.conf ファイルを検索します。
WebSphere Application Server は、
デフォルトの構成エントリーとして WSLogin を提供していますが、
これは、BasicAuth 認証メソッドに適合したものです。
重要: バージョン 5.x とバージョン 6 以降のアプリケーションの間には、
重要な相違点があります。
この資料の情報は、WebSphere Application Server バージョン 6.0.x 以降で使用されるバージョン 5.x アプリケーションのみをサポートしています。この情報は、バージョン 6 以降のアプリケーションには適用されません。