From 89a4255679dea014a8c06808225a38c89de16956 Mon Sep 17 00:00:00 2001 From: Christoph Dreis Date: Thu, 17 Oct 2019 19:29:28 +0200 Subject: [PATCH] Parse expression only once in PrincipalNameIndexResolver Resolves: #1539 --- .../springframework/session/PrincipalNameIndexResolver.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/spring-session-core/src/main/java/org/springframework/session/PrincipalNameIndexResolver.java b/spring-session-core/src/main/java/org/springframework/session/PrincipalNameIndexResolver.java index 868aae50..f4d7e87b 100644 --- a/spring-session-core/src/main/java/org/springframework/session/PrincipalNameIndexResolver.java +++ b/spring-session-core/src/main/java/org/springframework/session/PrincipalNameIndexResolver.java @@ -32,7 +32,7 @@ public class PrincipalNameIndexResolver extends SingleIndexRe private static final String SPRING_SECURITY_CONTEXT = "SPRING_SECURITY_CONTEXT"; - private static final SpelExpressionParser parser = new SpelExpressionParser(); + private static final Expression expression = new SpelExpressionParser().parseExpression("authentication?.name"); public PrincipalNameIndexResolver() { super(FindByIndexNameSessionRepository.PRINCIPAL_NAME_INDEX_NAME); @@ -45,7 +45,6 @@ public class PrincipalNameIndexResolver extends SingleIndexRe } Object authentication = session.getAttribute(SPRING_SECURITY_CONTEXT); if (authentication != null) { - Expression expression = parser.parseExpression("authentication?.name"); return expression.getValue(authentication, String.class); } return null;