Cosminexus 機能解説

[目次][用語][索引][前へ][次へ]

13.12.2 リポジトリ(LDAPディレクトリサーバ)の接続フェイルオーバ

LDAPディレクトリサーバをレプリケーションによって多重化することで,一つのLDAPディレクトリサーバへのアクセスに失敗した場合,統合ユーザ管理が提供する標準ログインモジュールはあらかじめ設定した別のLDAPディレクトリサーバにユーザ情報,シングルサインオン情報の参照先の切り替えを自動的にできます。

例えば,次の図に示す構成では,J2EEサーバ1が使用しているLDAPディレクトリサーバslave1がダウンした場合,使用するLDAPディレクトリサーバを自動的にslave2に切り替えて認証処理ができます(slave2もダウンしている場合はslave3へ切り替えます)。

図13-22 LDAPディレクトリサーバの多重化の構成例

[図データ]

設定されているLDAPディレクトリサーバに順番にアクセスし,すべてのサーバでアクセスが失敗した場合,認証が失敗します。

LDAPディレクトリサーバがダウンしているかどうかの判断方法を次に示します。

  1. javax.naming.CommunicationException例外が発生します。
    この例外の原因としては,接続先ホストから接続を拒否された場合などが考えられます。詳細については,JDKのドキュメントを参照してください。
  2. リトライを実行します。
    リトライは,あらかじめ設定した回数分実行されます。
  3. リトライしてもLDAPディレクトリサーバにアクセスできない場合,ダウンしていると見なされます。

設定されているすべてのLDAPディレクトリサーバがダウンしている場合,認証は失敗し,LoginContextクラスのloginメソッドの呼び出し元にLoginException例外が発生します。

各LDAPディレクトリサーバへの接続情報は,ua.conf(統合ユーザ管理のコンフィグレーションファイル)で設定して,JAASアプリケーションごとにjaas.conf(JAASのコンフィグレーションファイル)で使用するLDAPの設定を一つ以上指定します。ua.confおよびコンフィグレーションファイルの内容の詳細については,マニュアル「Cosminexus リファレンス 定義編」を参照してください。

また,PasswordUtilクラスによるパスワードの変更も接続フェイルオーバに対応しています。マスタサーバに対してパスワードの変更をします。次の図に示すようなマルチマスタ構成の場合に使用できます。

図13-23 LDAPディレクトリサーバの多重化の構成例(マルチマスタ構成)

[図データ]

なお,接続フェイルオーバをする場合,LDAPディレクトリサーバのエントリのツリー構造およびエントリの内容を同一にしてください。