diff --git a/spring-session/src/main/java/org/springframework/session/web/http/SessionRepositoryFilter.java b/spring-session/src/main/java/org/springframework/session/web/http/SessionRepositoryFilter.java index 6d5436b4..b5ed89ca 100644 --- a/spring-session/src/main/java/org/springframework/session/web/http/SessionRepositoryFilter.java +++ b/spring-session/src/main/java/org/springframework/session/web/http/SessionRepositoryFilter.java @@ -15,6 +15,7 @@ */ package org.springframework.session.web.http; +import org.springframework.core.Ordered; import org.springframework.session.ExpiringSession; import org.springframework.session.SessionRepository; import org.springframework.util.Assert; @@ -51,7 +52,11 @@ import java.util.Set; * @since 1.0 * @author Rob Winch */ -public class SessionRepositoryFilter extends OncePerRequestFilter { +public class SessionRepositoryFilter extends OncePerRequestFilter implements Ordered { + public static final int DEFAULT_ORDER = Ordered.HIGHEST_PRECEDENCE + 50; + + private int order = DEFAULT_ORDER; + private final SessionRepository sessionRepository; private HttpSessionStrategy httpSessionStrategy = new CookieHttpSessionStrategy(); @@ -332,4 +337,13 @@ public class SessionRepositoryFilter extends OncePerR throw new NoSuchElementException("a"); } }; + + public void setOrder(int order) { + this.order = order; + } + + @Override + public int getOrder() { + return order; + } }