第16章 クラスター化されたシングルサインオン (SSO) の使用

JBoss はクラスタ化されたシングルサインオン (SSO) をサポートします。ユーザーはある Web アプリケーションに対して認証を行い、同じ仮想ホストでデプロイされたすべての Web アプリケーションで認識できます。この場合、アプリケーションが同じマシンまたはクラスタの別のノードにデプロイされているかどうかは関係ありません。
認証レプリケーションは JBoss Cache により処理されます。クラスタ化されたシングルサインオンサポートは、Tomcat および JBoss Web の標準的な部分である非クラスタ org.apache.catalina.authenticator.SingleSignOn バルブの JBoss 固有の拡張機能です。

16.1. 設定

クラスタ化されたシングルサインオンを有効にするには、JBOSS_HOME/server/PROFILE/deploy/jbossweb.sar/server.xml ファイルの適切な Host 要素に ClusteredSingleSignOn バルブを追加する必要があります。バルブ要素はすでに標準的なファイルに含まれています。単にコメント解除することが必要なだけです。バルブ設定を以下に示します。
<Valve className="org.jboss.web.tomcat.service.sso.ClusteredSingleSignOn" />
この要素は以下の属性をサポートします。
  • className は、使用するバルブ実装の Java クラス名を設定するために必要な属性です。これは org.jboss.web.tomcat.service.sso.ClusteredSingleSign に設定する必要があります。
  • cacheConfig クラスタ化された SSO キャッシュに使用するキャッシュ設定の名前です。デフォルト値は clustered-sso です。

    注記

    キャッシュ設定の詳細については、『『管理設定ガイド』』の節「『JBoss Enterprise Application Platform の CacheManager サービス』」を参照してください。
  • treeCacheName は廃止されました。cacheConfig を使用してください。クラスタ化された SSO キャッシュに使用する JBoss Cache MBean の JMX ObjectName を指定します。cacheConfig の値を使用して CacheManager サービスからキャッシュを見つけることができない場合は、この ObjectName 以下の JMX で登録された mbean を見つけようとします。デフォルト値は jboss.cache:service=TomcatClusteringCache です。
  • cookieDomain は、SSO クッキーに使用されるホストドメインを設定するために使用されます。詳細については、「クッキードメインの設定」 を参照してください。デフォルト値は "/" です。
  • maxEmptyLife は、アクティブセッションがない SSO が要求により使用可能になる最大秒数です。クラスター化された SSO バルブは SSO に関連するセッションを管理するクラスターノードを追跡します。この属性に正の値を使用すると、SSO に関連付けられた任意のセッションを処理した唯一のノードのシャットダウンが適切に処理されます。このシャットダウンにより、セッションのローカルコピーが無効になり、SSO からすべてのセッションが削除されます。maxEmptyLife がゼロの場合は、SSO がローカルセッションコピーとともに終了します。ただし、セッションのバックアップコピー (クラスター化された Web アプリケーションからの場合) は他のクラスタノードで利用可能です。管理されたセッションの存続期間を超えて SSO が存在するようにすると、ユーザーには異なるクラスタノードにフェールオーバーできる他の要求を行う時間が与えられ、セッションのバックアップコピーが有効化されます。デフォルト値は 1800 (つまり、30 分) です。
  • processExpiresInterval は、バルブが 'maxEmptyLife' を超えた SSO を検出し、無効化する処理間の最小秒数です。'processExpiresInterval' ごとにクリーンアップなどの処理が行われるのではなく、その値よりも頻繁に処理が行われないことを意味します。デフォルト値は 60 です。
  • requireReauthentication はセキュリティ Realm に対して各要求を再認証する必要があるかどうかを決定するフラグです。"true" の場合、このバルブはキャッシュされたセキュリティクレデンシャル (ユーザー名とパスワード) を使用して JBoss Web セキュリティ Realm に対して SSO セッションに関連付けられた各要求を再認証します。false の場合は、Realm で再チェックせずにバルブ自体が有効な SSO クッキーの存在に基づいて要求を認証できます。true に設定すると、異なる security-domain 設定を持つ Web アプリケーションが SSO を共有できるようになります。デフォルト値は false です。