我有一个关于春季安全和Spring缓存问题。说我有一个方法,我已经标注了@PreAuthorize( “条件”),并@Cacheable(...)的方法,这样Spring:@PreAuthorize优先于@Cacheable吗?
@PreAuthorize("some authorization check")
@Cacheable(....)
public String calculate() {
....
}
不@PreAuthorize(http://docs.spring.io/spring-security/site/docs/3.0.x/reference/ns-config.html)采取precendence超过@Cacheable(http://docs.spring.io/spring/docs/3.1.0.M1/spring-framework-reference/html/cache.html )?该框架是否保证了@PreAuthorize安全检查将被评估,即使计算的结果()函数已经计算和缓存?请问,记住,这个功能可以通过,比如调用,用户A,则该值存储在缓存中,然后其他用户(用户B)也再次调用需要此功能的作用?是否评估@PreAuthorize条件?
从我在Spring文档中可以找到的内容中,@PreAuthorize和@Cacheable都将其建议的顺序定义为“Ordered.LOWEST_PRECEDENCE”,我相信这意味着它们的评估顺序是未定义的?
谢谢!
感谢。但是这不是在缓存的Spring文档中应该提及的东西吗?我认为忽略一种方法上的其他注释是非常严重的。无论如何,我已经设置了两个高速缓存和全球方法的安全性,如果也许@PreAuthorize已经检查过了,保证他们将评估一些其他的方式执行我只是想知道的顺序属性。 – 0x42