我目前的代码是
public class LPWebSecurityExpressionHandler extends DefaultWebSecurityExpressionHandler {
@Override
public EvaluationContext createEvaluationContext(Authentication authentication, FilterInvocation fi) {
StandardEvaluationContext ctx = new StandardEvaluationContext();
LPWebSecurityExpressionRoot root = new LPWebSecurityExpressionRoot(authentication, fi);
root.setSiteServices(siteServices);
root.setTrustResolver(trustResolver);
root.setRoleHierarchy(roleHierarchy);
root.setSecurityContextAccessService(securityContextAccessService);
ctx.setRootObject(root);
return ctx;
}
但现在,AbstractSecurityExpressionHandler中的createEvaluationContext在最新版本的spring-security-core中成为最终版本。我现在不确定如何自定义创建EvaluationContext。
答案 0 :(得分:1)
解决。
我应该改写createSecurityExpressionRoot方法。真是我的傻瓜。