我使用spring的全局方法安全功能来提供服务方法。
我尝试的是在类级别声明@PreAuth("hasRole('ROLE_TEST')")
并使用@PreAuth("permitAll")
使所有人都能访问这些方法。
我发现的是,
spring不会覆盖方法级别中定义的@PreAuth
在类级别定义的@PreAuth
。
spring方法级安全性无法理解表达式permitAll
。
下面提到的是我使用的配置。
<context:annotation-config />
<context:component-scan base-package="xxx.yyy.zzz" />
<security:global-method-security pre-post-annotations="enabled"/>
服务类。
@PreAuth("hasRole('ROLE_TEST')")
public Class Test {
public void testMethodOne(){}
@PreAuth("permitAll")
public void testMethodTwo(){}
}
你能否提出我遗失的任何一点?