J2C プリンシパル・マッピング・モジュール

アプリケーションでより高度なマッピング機能を必要とする場合、 独自の J2EE コネクター (J2C) マッピング・モジュールを作成することができます。WebSphere® Application Server バージョン 5.x で作成したマッピング・ログイン・モジュールは、WebSphere Application Server バージョン 6.0.x 以降でもサポートされています。

バージョン 5.x ログイン・モジュールを、接続ファクトリーのマッピング構成で使用できます。これらのログイン・モジュールは、リソース・マネージャー接続ファクトリーの参照マッピング構成 においても使用できます。バージョン 5.x のマッピング・ログイン・モジュールは、カスタム・マッピング・プロパティーを使用できません。

バージョン 6.0.x 以降において新規マッピング・ログイン・モジュールを作成する場合は、次のセクションで説明するプログラミング・インターフェースを使用します。

遷移: バージョン 5.x のマッピング・ログイン・モジュールをマイグレーションし、新規プログラミング・モデル、新規カスタム・プロパティー、およびアプリケーション有効範囲におけるマッピング構成分離機能を使用します。WebSphere Application Server バージョン 6.0.x を使用して作成されるマッピング・ログイン・モジュールを、リソース接続ファクトリーの非推奨のマッピング構成で使用することはできません。

リソース参照マッピングのためのログイン・モジュールの呼び出し

javax.security.auth.callback.CallbackHandler インターフェースを実装する com.ibm.wsspi.security.auth.callback.WSMappingCallbackHandler クラスは、WebSphere Application Server バージョン 6.0.x における新規 WebSphere Application Service Provider Programming Interface (SPI) です。

アプリケーション・コード では、次のように、com.ibm.wsspi.security.auth.callback.WSMappingCallbackHandlerFactory ヘルパー・クラス を使用して CallbackHandler オブジェクトを取得します。
package com.ibm.wsspi.security.auth.callback;

public class WSMappingCallbackHandlerFactory {
		private WSMappingCallbackHandlerFactory;
		public static CallbackHandler getMappingCallbackHandler(
ManagedConnectionFactory mcf,
HashMap mappingProperties);
}
WSMappingCallbackHandler クラスは、次のように、CallbackHandler インターフェースを 実装します。
package com.ibm.wsspi.security.auth.callback;

public class WSMappingCallbackHandler implements CallbackHandler {
		public WSMappingCallbackHandler(ManagedConnectionFactory mcf,
HashMap mappingProperties);
		public void handle(Callback[] callbacks) throws IOException,
     UnsupportedCallbackException;
}
WSMappingCallbackHandler ハンドラーは、バージョン 6.0.x で定義される 2 つの新規コールバック・タイプを管理することができます。
com.ibm.wsspi.security.auth.callback.WSManagedConnectionFactoryCallback 
com.ibm.wsspi.security.auth.callback.WSMappingPropertiesCallback

新規ログイン・モジュールは、 リソース・マネージャー接続ファクトリーの参照マッピング構成で使用される 2 つのコールバック・タイプを使用します。 WSManagedConnectionFactoryCallback コールバックは、 PasswordCredential クレデンシャルで設定する ManagedConnectionFactory インスタンスを提供します。この設定で、 ManagedConnectionFactory インスタンスは、PasswordCredential インスタンスがターゲットの エンタープライズ情報システム (EIS) インスタンスへのサインオンに使用されるかどうかを判別することができます。 WSMappingPropertiesCallback コールバックは、 カスタム・マッピング・プロパティーを含むハッシュ・マップを提供します。 com.ibm.mapping.authDataAlias プロパティーを使用すると、認証データ別名を予約したり、取り出したりすることができます。

注: 上の例では、値として MCF が PasswordCredential に設定されています。
WebSphere Application Server の WSMappingCallbackHandle ハンドルは、従来のマッピング・ログイン・モジュールが使用できる WebSphere Application Server バージョン 5.x の 2 つのコールバック・タイプを引き続きサポートします。定義された 2 つのコールバックは、 ログイン構成が接続ファクトリーで使用するログイン・モジュールによってのみ使用されることが可能です。 後方互換性を維持するために、WebSphere Application Server バージョン 6.0.x 以降は、次のように、認証データ別名 (com.ibm.mapping.authDataAlias プロパティー名のカスタム・プロパティーのリストで定義されている場合) を、WSAuthDataAliasCallback コールバックを使用してバージョン 5.x のログイン・モジュールに渡します。
com.ibm.ws.security.auth.j2c.WSManagedConnectionFactoryCallback 
com.ibm.ws.security.auth.j2c.WSAuthDataAliasCallback

接続ファクトリー・マッピングのためのログイン・モジュールの呼び出し

WSPrincipalMappingCallbackHandler クラスは、 次の 2 つのコールバック・タイプを処理します。
com.ibm.wsspi.security.auth.callback.WSManagedConnectionFactoryCallback 
com.ibm.wsspi.security.auth.callback.WSMappingPropertiesCallback

WSPrincipalMappingCallbackHandler ハンドラーおよび 2 つのコールバックは、WebSphere Application Server バージョン 6 では非推奨です。

マッピング・ログイン・モジュールへのリソース参照のマッピング・プロパティーの引き渡し

任意の カスタム・プロパティーをマッピング・ログイン・モジュールに渡すことができます。次の例は、WebSphere Application Server のデフォルト・マッピング・ログイン・モジュールが認証データ別名プロパティー を検索する方法を示しています。

		try {
		    		    wspm_callbackHandler.handle(callbacks);
	            	            String userID = null;
	            	            String password = null;
	            	            String alias = null;
	            	            wspm_properties = ((WSMappingPropertiesCallback)callbacks[1]).getProperties();
	
	            	            if (wspm_properties != null) {
	                alias = (String) wspm_properties.get(com.ibm.wsspi.security.auth.callback.Constants.MAPPING_ALIAS);
	                	                if (alias != null) {
	                    alias = alias.trim();
	                }
	            }
	            	            } catch (UnsupportedCallbackException unsupportedcallbackexception) {
	. . . // error handling
WebSphere Application Server バージョン 6.0.x のデフォルト・マッピング・ログイン・モジュールでは、認証データ別名を定義するためのマッピング・プロパティーが 1 つ必要です。 MAPPING_ALIAS というマッピング・プロパティーが、 com.ibm.wsspi.security.auth.callback パッケージの Constants.class ファイルで定義されています。

MAPPING_ALIAS    =   "com.ibm.mapping.authDataAlias"

「リソース参照をリソースにマップ」パネルで、「デフォルトの方式を使用」 > 「認証データ入力の選択」をクリックすると、管理コンソールは、自動的にマッピング・プロパティーに、選択した認証データ別名値を持った MAPPING_ALIAS 記入項目を作成します。独自のカスタム・ログイン構成 を作成してから、デフォルトのマッピング・ログイン・モジュールを使用する場合は、リソース・ファクトリー参照 のマッピング・プロパティーに手動でこのプロパティーを設定する必要があります。

カスタム・ログイン・モジュールでは、 現行の実行スレッドの ID を表すサブジェクトは、WSSubject.getRunAsSubject メソッドを使用して検索できます。 現行の実行スレッドの ID は、RunAs ID と呼ばれます。RunAs サブジェクトには通常、 プリンシパル・セットの WSPrincipal プリンシパル、および 公開クレデンシャル・セットの WSCredential クレデンシャルが含まれます。 マッピング・モジュールによって作成されたサブジェクト・インスタンスには、 プリンシパル・セットの Principal インスタンス、および専用クレデンシャ ル・セットの PasswordCredential クレデンシャルまたは org.ietf.jgss.GSSCredential インスタンスが含まれます。

J2EE コネクター・アーキテクチャー (JCA) 仕様バージョン 1.0 で定義される GenericCredential インターフェースは、JCA バージョン 1.5 仕様では非推奨です。


トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsec_pluginj2c
ファイル名:rsec_pluginj2c.html