你需要子类化两个类。
首先,设置一个新的方法表达式处理程序
<global-method-security> <expression-handler ref="myMethodSecurityexpressionHandler"/></global-method-security>
myMethodSecurityexpressionHandler将是的一个子类
DefaultMethodSecurityexpressionHandler,其覆盖
createevaluationContext(),设置的一个子类
MethodSecurityexpressionRoot的
MethodSecurityevaluationContext。
例如:
@Overridepublic evaluationContext createevaluationContext(Authentication auth, MethodInvocation mi) { MethodSecurityevaluationContext ctx = new MethodSecurityevaluationContext(auth, mi, parameterNameDiscoverer); MethodSecurityexpressionRoot root = new MyMethodSecurityexpressionRoot(auth); root.setTrustResolver(trustResolver); root.setPermissionevaluator(permissionevaluator); root.setRoleHierarchy(roleHierarchy); ctx.setRootObject(root); return ctx;}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)