keycloak-uncached

Details

diff --git a/adapters/saml/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/saml/CatalinaSamlSessionStore.java b/adapters/saml/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/saml/CatalinaSamlSessionStore.java
index d72bbfd..281dd59 100755
--- a/adapters/saml/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/saml/CatalinaSamlSessionStore.java
+++ b/adapters/saml/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/saml/CatalinaSamlSessionStore.java
@@ -153,14 +153,14 @@ public class CatalinaSamlSessionStore implements SamlSessionStore {
         }
 
         GenericPrincipal principal = (GenericPrincipal) session.getPrincipal();
-        if (samlSession.getPrincipal().getName().equals(principal.getName()))
         // in clustered environment in JBossWeb, principal is not serialized or saved
         if (principal == null) {
             principal = principalFactory.createPrincipal(request.getContext().getRealm(), samlSession.getPrincipal(), samlSession.getRoles());
             session.setPrincipal(principal);
             session.setAuthType("KEYCLOAK-SAML");
 
-        } else {
+        }
+        else if (samlSession.getPrincipal().getName().equals(principal.getName())){
             if (!principal.getUserPrincipal().getName().equals(samlSession.getPrincipal().getName())) {
                 throw new RuntimeException("Unknown State");
             }