5.4.2. 仕組み

JBoss EAP は起動時にコアサービスをロードし sso-domain と SSO 情報に関連するキャッシュを管理する securityundertow、および 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 にアクセスしようとすると、再度認証が要求されます。 これは、EAP1EAP2 はキャッシュを共有しないためです。

Jane が EAP3/sampleAppA/secure/hello.html にアクセスしようとすると、認証を要求され、Jane のセッションは SSO キャッシュに保存されます。これらのキャッシュはクラスター全体で保存されるため、Jane が EAP3/sampleAppB/secure/hello.htmlEAP4/sampleAppA/secure/hello.html、または EAP4/sampleAppB/secure/hello.html にログインする際に再認証する必要ありません。EAP3 または EAP4 のいずれかが再起動した場合、他の JBoss EAP インスタンスとクラスターは稼働しているため、Jane の SSO 情報はキャッシュに保持されます。同様に、Jane のセッションが無効化された場合はキャッシュ全体で無効化され、クラスターでアクセスしようとするアプリケーションやサーバーに関係なく、再認証が要求されます。