12.4. Web アプリケーションでのシングルサインオン(SSO)の使用
概要
シングルサインオン(SSO)機能は web および Infinispan サブシステムによって提供されます。以下の手順に従って、Web アプリケーションで SSO を設定します。
前提条件
- 認証とアクセスを処理する設定済みのセキュリティードメイン。
infinispan
サブシステム。デフォルトでは、管理対象ドメインとスタンドアロンサーバーのすべてのプロファイルに存在します。web
cache-container
および SSO replicated-cache初期設定ファイルにはweb
キャッシュコンテナーがすでに含まれ、一部の設定ファイルにも SSO replicated-cache がすでに含まれています。以下のコマンドを使用して、SSO replicated-cache をチェックし、有効にします。このコマンドは、管理対象ドメインのha
プロファイルを変更することに注意してください。コマンドを変更して別のプロファイルを使用するか、スタンドアロンサーバーでコマンドの/profile=ha
部分を削除できます。例12.1
web
cache-container の有無を確認します。上記のプロファイルと設定には、デフォルトでweb
キャッシュコンテナーが含まれます。以下のコマンドを使用して、存在を確認します。別のプロファイルを使用する場合は、ha
の代わりに名前を置き換えます。/profile=ha/subsystem=infinispan/cache-container=web/:read-resource(recursive=false,proxies=false,include-runtime=false,include-defaults=true)
結果が成功
した場合、サブシステムが存在します。それ以外の場合は、追加する必要があります。例12.2
web
キャッシュコンテナーの追加以下の 3 つのコマンドを使用して、web
キャッシュコンテナーを設定に対して有効にします。適切なプロファイルの名前と、その他のパラメーターを変更します。このパラメーターは、デフォルト設定で使用されるパラメーターです。/profile=ha/subsystem=infinispan/cache-container=web:add(aliases=["standard-session-cache"],default-cache="repl",module="org.jboss.as.clustering.web.infinispan")
/profile=ha/subsystem=infinispan/cache-container=web/transport=TRANSPORT:add(lock-timeout=60000)
/profile=ha/subsystem=infinispan/cache-container=web/replicated-cache=repl:add(mode="ASYNC",batching=true)
例12.3
SSO
replicated-cache を確認します。以下の管理 CLI コマンドを実行します。/profile=ha/subsystem=infinispan/cache-container=web/:read-resource(recursive=true,proxies=false,include-runtime=false,include-defaults=true)
以下のような出力を探します。"sso" => {
これが見つからない場合、SSO replicated-cache は設定に表示されません。例12.4
SSO
replicated-cache を追加します。/profile=ha/subsystem=infinispan/cache-container=web/replicated-cache=sso:add(mode="SYNC", batching=true)
管理対象ドメインでのクラスター化された SSO の設定
web
サブシステムは SSO を使用するように設定する必要があります。以下のコマンドは、default-host
と呼ばれる仮想サーバーおよび cookie ドメイン domain.com
で SSO を有効にします。キャッシュ名は sso
で、再認証は無効になります。
/profile=ha/subsystem=web/virtual-server=default-host/sso=configuration:add(cache-container="web",cache-name="sso",reauthenticate="false",domain="domain.com")
jboss-web.xml
デプロイメント記述子と web.xml
設定ファイルで同じ <security-domain> を使用するよう設定する必要があります。
スタンドアロンサーバー向けのクラスター化された SSO または非クラスター化 SSO の設定
サーバープロファイルの web サブシステムの下に sso
を設定します。属性 ClusteredSingleSignOn
が存在する場合、cache-container
バージョンが使用されます。それ以外の場合は、標準の SingleSignOn
クラスが使用されます。
例12.5 非クラスター化 SSO 設定の例
/subsystem=web/virtual-server=default-host/sso=configuration:add(reauthenticate="false")
セッションの無効化
アプリケーションは、javax.servlet.http.HttpSession.invalidate()
メソッドを呼び出すことで、プログラム的にセッションを無効にすることができます。