Java 自定义权限计算器

Java 自定义权限计算器,java,spring,spring-security,Java,Spring,Spring Security,我正试图覆盖SpringSecurity3.0中的默认权限计算器,但无论我做什么,权限电梯都会被忽略,而默认的,DenyAllPermissionEvaluator会被调用 我正在使用编程配置,并尝试通过覆盖websecurityConfigureAdapter类的configure(WebSecurity)和configure(Http)方法来设置权限计算器,但这没有多大帮助 设置Spring Security实际使用的自定义权限计算器的正确方法是什么?使用xml conf <secur

我正试图覆盖SpringSecurity3.0中的默认权限计算器,但无论我做什么,权限电梯都会被忽略,而默认的,
DenyAllPermissionEvaluator
会被调用

我正在使用编程配置,并尝试通过覆盖
websecurityConfigureAdapter
类的configure(WebSecurity)和configure(Http)方法来设置权限计算器,但这没有多大帮助

设置Spring Security实际使用的自定义权限计算器的正确方法是什么?

使用xml conf

<security:global-method-security secured-annotations="enabled" pre-post-annotations="enabled">
    <security:expression-handler ref="methodSecurityExpressionHandler"/>
</security:global-method-security>

<bean id="methodSecurityExpressionHandler" class="org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler">
       <property name="permissionEvaluator" ref="defaultPermissionEvaluator"/>
    </bean>

然后简单地定义您的bean,就像普通的:

<bean id="defaultPermissionEvaluator" class="com.your.class.implements.permissionevaluator"/>


还没有完成Javaconf(我是唯一一个仍然使用XMLconf的人吗?),但是从上面的内容转换过来应该不会很困难。并确保您在正确的位置进行了定义,在大多数情况下,这是根上下文,无论我们在web上下文中如何定义,以确保控制器的安全

发布一些代码/配置。