【发布时间】:2014-06-03 22:15:28
【问题描述】:
我正在使用 Spring Framework 4.0.0 GA 和 Spring Security 3.2.0 GA。我已使用如下切入点表达式将安全性应用于包中所有类的所有方法。
<global-method-security secured-annotations="enabled" pre-post-annotations="enabled" proxy-target-class="false">
<protect-pointcut expression="execution(* admin.dao.*.*(..))" access="ROLE_ADMIN"/>
</global-method-security>
包admin.dao中定义的所有类的所有方法只能由权限为ROLE_ADMIN的用户访问。
现在是否可以在此包中某些类的某些方法中覆盖此安全约束?
我需要匿名访问这个包下某个类中的某些方法(这已经是安全的了)。
在 JAAS 中,这可以通过在相关方法上方使用 javax.annotation.security.PermitAll 注释来实现,该注释将覆盖任何全局约束(例如,应用类级别的约束)。
我已经尝试过使用上述方法的@Secured(value = "permitAll") 和@Secured(value = "isAnonymous()"),但它们都不起作用。
【问题讨论】:
标签: spring security spring-mvc spring-security