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