Просмотр исходного кода

Polish GlobalMethodSecurityConfiguration

Initialize ExpressionBasedPreInvocationAdvice for
PreInvocationAuthorizationAdviceVoter only when needed.
John Lin 6 лет назад
Родитель
Сommit
9876b66f99

+ 3 - 2
config/src/main/java/org/springframework/security/config/annotation/method/configuration/GlobalMethodSecurityConfiguration.java

@@ -242,9 +242,10 @@ public class GlobalMethodSecurityConfiguration
 	 */
 	protected AccessDecisionManager accessDecisionManager() {
 		List<AccessDecisionVoter<?>> decisionVoters = new ArrayList<>();
-		ExpressionBasedPreInvocationAdvice expressionAdvice = new ExpressionBasedPreInvocationAdvice();
-		expressionAdvice.setExpressionHandler(getExpressionHandler());
 		if (prePostEnabled()) {
+			ExpressionBasedPreInvocationAdvice expressionAdvice =
+					new ExpressionBasedPreInvocationAdvice();
+			expressionAdvice.setExpressionHandler(getExpressionHandler());
 			decisionVoters
 					.add(new PreInvocationAuthorizationAdviceVoter(expressionAdvice));
 		}