Spring @PostFilter何时执行?

时间:2011-09-15 19:13:27

标签: spring spring-security aop

我正在使用spring的@Around注释来提供DAO调用的缓存,还使用spring security的@PostFilter来限制查看某些记录。但是我担心缓存可能会绕过PostFilter并出现安全问题。

如何判断@PostFilter@Around包装目标对象的顺序?

1 个答案:

答案 0 :(得分:3)

您可以通过设置order的{​​{1}}属性来指定Spring Security方面的顺序(我猜它默认为零)。

您还可以按照7.2.4.7 Advice ordering

中的说明指定自己方面的顺序
  

最高优先级建议首先“在路上”(因此给出两条之前的建议,优先级最高的建议首先运行)。从连接点“出路”,最高优先级建议最后运行(因此,给出两条后建议,具有最高优先级的建议将运行第二)。
  ...
  您可以通过指定优先级来控制执行顺序。这是通过在方法类中实现org.springframework.core.Ordered接口或使用Order注释对其进行注释来以常规Spring方式完成的。给定两个方面,从Ordered.getValue()(或注释值)返回较低值的方面具有较高的优先级。