WebSphere Application Server - Express, Version 6.1   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows, Windows Vista

             目次と検索結果のパーソナライズ化

カスタム・ユーザー・レジストリーのマイグレーション

ユーザー自身のカスタム・ユーザー・レジストリーをビルドした場合は、以下にリストしたマイグレーション項目を考慮してください。 セキュリティー・ソリューション・プロバイダーによって提供されたカスタム・ユーザー・レジストリーがある場合は、WebSphere Application Server をサポートする正しいバージョンのカスタム・ユーザー・レジストリーであることを、そのプロバイダーに問い合わせて確認する必要があります。

始める前に

WebSphere Application Server では、カスタム・ユーザー・レジストリーは、UserRegistry インターフェースに加えて、ユーザーおよびグループ情報を処理する Result オブジェクトを必要とします。このファイルは、既にパッケージの中で提供されており、 getUsers、getGroups、および getUsersForGroup メソッドで使用することが想定されています。

カスタム・レジストリーを初期化するために、 その他の WebSphere Application Server コンポーネント (データ・ソースなど) を使用することはできません。 これは、コンテナーなどの他のコンポーネントはセキュリティーの後に初期化が行われ、レジストリーの初期化中は使用できないためです。 カスタム・レジストリー・インプリメンテーションは、ピュア・カスタム・インプリメンテーションであり、 他の WebSphere Application Server コンポーネントとは独立しています。

getCallerPrincipal エンタープライズ Bean メソッドおよび getUserPrincipal および getRemoteUser サーブレット・メソッドは、表示名ではなく、セキュリティー名を戻します。 詳しくは、UserRegistry インターフェース・メソッド または API の資料を参照してください。

WebSphere Application Server バージョン 5 構成から WebSphere Application Server バージョン 6.0.x 以降に マイグレーションするのに、マイグレーション・ツールが使用される場合、 このマイグレーションによって既存のコードに変更は生じません。 WebSphere Application Server バージョン 5 カスタム・レジストリーは、 データ・ソースの使用時を除いてインプリメンテーションに変更を加える ことなく WebSphere Application Server バージョン 6.0.x 以降において機能するので、 マイグレーションした後、コードを変更することなくバージョン 5 ベースのカスタム・レジストリーを使用できます。

WebSphere Application Server バージョン 6.0.x 以降では、 有効なカスタム・ユーザー・レジストリーを使用している場合、大/小文字を区別しない許可が行われることがあります。

このフラグを設定しても、ユーザー名またはパスワードには影響しません。レジストリーから戻される固有の ID だけ が小文字に変更された後、許可表内の情報 (これもまた、実行時に小文字に変換されます) と比較されます。

先に進む前に、UserRegistry インターフェースを参照してください。 これらのメソッドのそれぞれの詳細に関する説明については、 スタンドアロン・カスタム・レジストリーの開発 を参照してください。

このタスクについて

以下のステップでは、古い com.ibm.websphere.security.CustomRegistry インターフェースをインプリメントしている WebSphere Application Server バージョン 4.x のカスタム・ユーザー・レジストリーから、com.ibm.websphere.security.UserRegistry インターフェースに移行するために必要なすべての変更について説明します。
注: 以下のステップの説明では、 としてサンプル・インプリメンテーション・ファイルが使用されます。

プロシージャー

  1. インプリメンテーションを CustomRegistry の代わりに UserRegistry に変更します。 変更点は、次のとおりです。
    public class FileRegistrySample implements CustomRegistry
    次のように変更します。
    public class FileRegistrySample implements UserRegistry
  2. コンストラクターで java.rmi.RemoteException 例外を作成します。
    パブリック FileRegistrySample() が java.rmi.RemoteException をスローします
  3. mapCertificate メソッドを変更して、単一証明書の代わりに証明書チェーンを取得します。 変更
    public String mapCertificate(X509Certificate cert)
    次のように変更します。
    public String mapCertificate(X509Certificate[]cert)

    証明書チェーンを持っていると、 1 つの証明書の代わりにチェーンで実行する柔軟性が得られます。 最初の証明書にだけ興味がある場合は、処理を開始する前に、チェーン内の最初の証明書を取得します。 WebSphere Application Server バージョン 6.0.x 以降では、 証明書が Web または Java クライアントによって認証のために使用される場合、 mapCertificate メソッドが呼び出されて、証明書内のユーザーをレジストリー内の有効なユーザーに マップします。

  4. getUsers メソッドを除去します。
  5. getUsers(String) メソッドのシグニチャーを変更して、 Result オブジェクトを戻し、追加のパラメーター (int) を受け入れます。 変更点は、次のとおりです。
    public List getUsers(String pattern)
    次のように変更します。
    public Result getUsers(String pattern, int limit)
    ユーザーのインプリメンテーションにおいて、 ユーザー・レジストリーから取得するユーザー (ユーザーの数は、制限パラメーターの値に制限される) のリストから 、Result オブジェクトを構成します。レジストリー内のユーザーの総数がしきい値を超える場合は 、Result オブジェクトについて setHasMore メソッドを呼び出します。
  6. getUsersForGroup(String) メソッドのシグニチャーを変更して、 Result オブジェクトを戻し、追加のパラメーター (int) を受け入れ、 NotImplementedException 例外という名前の新規例外をスローします。以下のコードを変更します。
    public List getUsersForGroup(String groupName)
              throws CustomRegistryException,
                     EntryNotFoundException {
    
    次のように変更します。
    public Result getUsersForGroup(String groupSecurityName, int limit)
              throws NotImplementedException,
                     EntryNotFoundException,
                     CustomRegistryException {
    
    WebSphere Application Server バージョン 6.0.x 以降では、 このメソッドが、WebSphere Application Server のセキュリティー・コンポーネントによって 直接呼び出されることはありません。ただし、WebSphere Business Integration Server Foundation Process Choreographer のような、 WebSphere Application Server の他のコンポーネントは、スタッフ割り当てがグループを使用してモデル化されている 場合には、このメソッドを使用します。 このインプリメンテーションが WebSphere Application Server バージョン 6.0.x 以降でサポートされているため、 ステップ 5 で説明した getUsers メソッドと同じように、 このインプリメンテーションを変更することをお勧めします。
  7. getUniqueUserIds(String) メソッドを除去します。
  8. getGroups メソッドを除去します。
  9. getGroups(String) メソッドのシグニチャーを変更して、 Result オブジェクトを戻し、追加のパラメーター (int) を受け入れます。 以下のコードを変更します。
    public List getGroups(String pattern)
    次のように変更します。
    public Result getGroups(String pattern, int limit)

    ユーザーのインプリメンテーションにおいて、 ユーザー・レジストリーから取得するグループ (グループの数は、制限パラメーターの値に制限される) のリストから 、Result オブジェクトを構成します。 レジストリー内のグループの総数がしきい値を超える場合は、Result オブジェクトについて setHasMore メソッドを 呼び出します。

  10. createCredential メソッドを追加します。 このメソッドは 現時点では呼び出されないため、null として戻されます。
    public com.ibm.websphere.security.cred.WSCredential
       createCredential(String userSecurityName)
             throws CustomRegistryException,
                    NotImplementedException,
                    EntryNotFoundException {
             return null;
       }
    

    前のコード例の 1 行目と 2 行目は説明の都合上 2 行に分割されています。

  11. WebSphere Application Server バージョン 6.0.x 以降のインプリメンテーションを作成する場合は、 クラスパス内に sas.jar および wssec.jar ファイルがあることを確認します。
    クラスパスにファイルを設定するには、サンプルとして以下のコードを使用し、例で使用されている変数の代わりに環境値を使用します。
    %install_root%/java/bin/javac -classpath %WAS_HOME%/lib/wssec.jar;
    %WAS_HOME%/lib/sas.jar FileRegistrySample.java
    
    これらの行は、1 つの連続した行として入力してください。

    WebSphere Application Server バージョン 6.0.x 以降で WebSphere Application Server バージョン 5 カスタム・レジストリー (CustomRegistry) を作成するには、sas.jar ファイルのみが必要です。

  12. インプリメンテーション・クラスを製品のクラスパスにコピーします。

    %install_root%/lib/ext ディレクトリーが、推奨されるロケーションです。

  13. 管理コンソールを使用してカスタム・レジストリーをセットアップします。

    スタンドアロン・カスタム・レジストリーの構成 の説明に従って、「許可検査で大/小文字を区別しない」オプションを含むカスタム・レジストリーをセットアップします。 必要に応じて、WAS_UseDisplayName プロパティーを追加してください。

結果

古い com.ibm.websphere.security.CustomRegistry インターフェースをインプリメントしている WebSphere Application Server バージョン 4.x ベースのカスタム・ユーザー・レジストリーは、com.ibm.websphere.security.UserRegistry インターフェースに移行されます。

次の作業

セキュリティーを使用可能にする場合は、セキュリティーの使用可能化 を参照して残りのステップを完了してください。 これが終了したら、構成を保管して、すべてのサーバーを再始動します。 一部の Java 2 Platform, Enterprise Edition (J2EE) リソースへのアク セスを試行し、カスタム・レジストリー・マイグレーションが正常に行われ たことを確認します。




関連タスク
スタンドアロン・カスタム・レジストリーの開発
セキュリティーの使用可能化
関連資料
UserRegistry.java ファイル
FileRegistrySample.java ファイル
getRemoteUser メソッドおよび getAuthType メソッド
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 6:25:35 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/tsec_migratecustom.html