Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

19.4. Web アプリケーションでシングルサインオン (SSO) を使用する

概要

シングルサインオン (SSO) 機能は、Web および Infinispan サブシステムによって提供されます。この手順を使用して、Web アプリケーションで SSO を設定します。

前提条件

  • 認証とアクセスを処理する設定済みのセキュリティードメイン。
  • Theinfinispanサブシステム。デフォルトでは、管理対象ドメインとスタンドアロンサーバーのすべてのプロファイルに存在します。
  • Thewebcache-containerおよび SSO レプリケートキャッシュ。初期設定ファイルにはすでにwebcache-container、および一部の設定には、SSO レプリケートされたキャッシュもすでに含まれています。次のコマンドを使用して、SSO レプリケートキャッシュを確認して有効にします。これらのコマンドはha管理対象ドメインのプロファイル。スタンドアロンサーバーの場合は、コマンドを変更して別のプロファイルを使用するか、コマンドの /profile=ha 部分を削除できます。

    例19.1 を確認してくださいwebキャッシュコンテナー

    上記のプロファイルと設定には、webデフォルトでは cache-container。次のコマンドを使用して、その存在を確認します。別のプロファイルを使用する場合は、ha の代わりにその名前に置き換えてください。
    /profile=ha/subsystem=infinispan/cache-container=web/:read-resource(recursive=false,proxies=false,include-runtime=false,include-defaults=true)
    結果が 成功 した場合、サブシステムが存在します。それ以外の場合は、追加する必要があります。

    例19.2 追加しますwebキャッシュコンテナー

    次の 3 つのコマンドを使用して、webcache-container を設定に追加します。プロファイルの名前、およびその他のパラメーターを必要に応じて変更します。ここでのパラメーターは、デフォルト設定で使用されるパラメーターです。
    /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)

    例19.3 を確認してくださいSSOレプリケートされたキャッシュ

    次の管理 CLI コマンドを実行します。
    /profile=ha/subsystem=infinispan/cache-container=web/:read-resource(recursive=true,proxies=false,include-runtime=false,include-defaults=true)
    次のような出力を探します。 "sso" => {
    見つからない場合は、SSO レプリケートキャッシュが設定に存在しません。

    例19.4 追加しますSSOレプリケートされたキャッシュ

    /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")
SSO 情報を共有する各アプリケーションは、jboss-web.xml デプロイメント記述子で同じ <security-domain> を使用し、web.xml 設定ファイルで同じレルムを使用するように設定する必要があります。

スタンドアロンサーバーのクラスター化または非クラスター化 SSO の設定

設定、設定ssoサーバープロファイルの Web サブシステムの下。TheClusteredSingleSignOnバージョンは属性のときに使用されますcache-container存在する、そうでない場合は標準SingleSignOnクラスが使用されます。

例19.5 非クラスター化 SSO 設定の例

/subsystem=web/virtual-server=default-host/sso=configuration:add(reauthenticate="false")

セッションを無効にする

アプリケーションは、メソッドを呼び出すことにより、プログラムでセッションを無効にすることができますjavax.servlet.http.HttpSession.invalidate()