From d2a37cb1d6c1a80bea82293dabda9151d823f856 Mon Sep 17 00:00:00 2001 From: Kevin Conaway Date: Tue, 14 Jul 2015 10:30:41 -0400 Subject: [PATCH] Improve field visibility in DefaultMethodSecurityExpressionHandler Fixes gh-210 --- ...efaultMethodSecurityExpressionHandler.java | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/org/springframework/security/access/expression/method/DefaultMethodSecurityExpressionHandler.java b/core/src/main/java/org/springframework/security/access/expression/method/DefaultMethodSecurityExpressionHandler.java index b000321602..051618e60b 100644 --- a/core/src/main/java/org/springframework/security/access/expression/method/DefaultMethodSecurityExpressionHandler.java +++ b/core/src/main/java/org/springframework/security/access/expression/method/DefaultMethodSecurityExpressionHandler.java @@ -66,7 +66,7 @@ public class DefaultMethodSecurityExpressionHandler extends */ public StandardEvaluationContext createEvaluationContextInternal(Authentication auth, MethodInvocation mi) { - return new MethodSecurityEvaluationContext(auth, mi, parameterNameDiscoverer); + return new MethodSecurityEvaluationContext(auth, mi, getParameterNameDiscoverer()); } /** @@ -78,9 +78,9 @@ public class DefaultMethodSecurityExpressionHandler extends authentication); root.setThis(invocation.getThis()); root.setPermissionEvaluator(getPermissionEvaluator()); - root.setTrustResolver(trustResolver); + root.setTrustResolver(getTrustResolver()); root.setRoleHierarchy(getRoleHierarchy()); - root.setDefaultRolePrefix(defaultRolePrefix); + root.setDefaultRolePrefix(getDefaultRolePrefix()); return root; } @@ -189,6 +189,13 @@ public class DefaultMethodSecurityExpressionHandler extends this.trustResolver = trustResolver; } + /** + * @return The current {@link AuthenticationTrustResolver} + */ + protected AuthenticationTrustResolver getTrustResolver() { + return trustResolver; + } + /** * Sets the {@link ParameterNameDiscoverer} to use. The default is * {@link DefaultSecurityParameterNameDiscoverer}. @@ -198,6 +205,13 @@ public class DefaultMethodSecurityExpressionHandler extends this.parameterNameDiscoverer = parameterNameDiscoverer; } + /** + * @return The current {@link ParameterNameDiscoverer} + */ + protected ParameterNameDiscoverer getParameterNameDiscoverer() { + return parameterNameDiscoverer; + } + public void setPermissionCacheOptimizer( PermissionCacheOptimizer permissionCacheOptimizer) { this.permissionCacheOptimizer = permissionCacheOptimizer; @@ -225,4 +239,11 @@ public class DefaultMethodSecurityExpressionHandler extends public void setDefaultRolePrefix(String defaultRolePrefix) { this.defaultRolePrefix = defaultRolePrefix; } + + /** + * @return The default role prefix + */ + protected String getDefaultRolePrefix() { + return defaultRolePrefix; + } }