diff --git a/multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/filter/MultiUserEnvironmentInitializationFilter.java b/multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/filter/MultiUserEnvironmentInitializationFilter.java index 2f2dfcbc5a..9939dc8802 100644 --- a/multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/filter/MultiUserEnvironmentInitializationFilter.java +++ b/multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/filter/MultiUserEnvironmentInitializationFilter.java @@ -11,6 +11,7 @@ */ package org.eclipse.che.multiuser.api.authentication.commons.filter; +import static java.lang.String.format; import static org.eclipse.che.multiuser.api.authentication.commons.Constants.CHE_SUBJECT_ATTRIBUTE; import java.io.IOException; @@ -28,6 +29,8 @@ import org.eclipse.che.commons.subject.Subject; import org.eclipse.che.multiuser.api.authentication.commons.SessionStore; import org.eclipse.che.multiuser.api.authentication.commons.SubjectHttpRequestWrapper; import org.eclipse.che.multiuser.api.authentication.commons.token.RequestTokenExtractor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Performs basic environment initialization actions as follows: @@ -44,6 +47,9 @@ import org.eclipse.che.multiuser.api.authentication.commons.token.RequestTokenEx */ public abstract class MultiUserEnvironmentInitializationFilter implements Filter { + private static final Logger LOG = + LoggerFactory.getLogger(MultiUserEnvironmentInitializationFilter.class); + private final SessionStore sessionStore; private final RequestTokenExtractor tokenExtractor; @@ -119,6 +125,10 @@ public abstract class MultiUserEnvironmentInitializationFilter implements Filter sessionSubject = extractSubject(token); session.setAttribute(CHE_SUBJECT_ATTRIBUTE, sessionSubject); } else if (!sessionSubject.getUserId().equals(userId)) { + LOG.debug( + format( + "Invalidating session with mismatched user IDs: old was %s, new is %s.", + sessionSubject.getUserId(), userId)); session.invalidate(); HttpSession new_session = httpRequest.getSession(true); sessionSubject = extractSubject(token);