5.4.2. 仕組み
JBoss EAP は起動時にコアサービスをロードし sso-domain
と SSO 情報に関連するキャッシュを管理する security
、undertow
、および infinispan
サブシステムを起動します。sampleAppA.war
および sampleAppB.war
は 4 つの JBoss EAP インスタンスすべてでロードされます。各 JBoss EAP インスタンスは、認証および承認を提供するために sso-domain
を検索します。
Jane が EAP1/sampleAppA/secure/hello.html
にアクセスしようとすると、認証が要求されます。正しい情報を提供した後、Jane は EAP1/sampleAppA/secure/hello.html
の閲覧が許可されます。Jane のセッションは undertow
および infinispan
サブシステムによって使用される SSO キャッシュに追加されます。Jane が EAP1/sampleAppB/secure/hello.html
にアクセスしようとすると、再認証が要求されます。EAP1
で実行されている sampleAppB
は、undertow
サブシステムキャッシュと infinispan
サブシステムを使用して Jane のセッションを検索します。 Jane はすでに認証されているため、アクセスを許可します。Jane が EAP2/sampleAppA/secure/hello.html
または EAP2/sampleAppB/secure/hello.html
にアクセスしようとすると、再度認証が要求されます。 これは、EAP1
と EAP2
はキャッシュを共有しないためです。
Jane が EAP3/sampleAppA/secure/hello.html
にアクセスしようとすると、認証を要求され、Jane のセッションは SSO キャッシュに保存されます。これらのキャッシュはクラスター全体で保存されるため、Jane が EAP3/sampleAppB/secure/hello.html
、EAP4/sampleAppA/secure/hello.html
、または EAP4/sampleAppB/secure/hello.html
にログインする際に再認証する必要ありません。EAP3
または EAP4
のいずれかが再起動した場合、他の JBoss EAP インスタンスとクラスターは稼働しているため、Jane の SSO 情報はキャッシュに保持されます。同様に、Jane のセッションが無効化された場合はキャッシュ全体で無効化され、クラスターでアクセスしようとするアプリケーションやサーバーに関係なく、再認証が要求されます。