浏览代码

Improve field visibility in DefaultMethodSecurityExpressionHandler

Fixes gh-210
Kevin Conaway 10 年之前
父节点
当前提交
d2a37cb1d6

+ 24 - 3
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;
+	}
 }