Spring@PostFilter何时执行?

Spring@PostFilter何时执行?,spring,spring-security,aop,Spring,Spring Security,Aop,我使用spring的@Around注释来提供DAO调用的缓存,还使用spring security的@PostFilter来限制某些记录的查看。但是,我担心缓存可能会绕过PostFilter并带来安全问题 如何判断目标对象的@PostFilter和@包装顺序?您可以通过设置的顺序属性来指定Spring Security方面的顺序(我猜默认为零) 您还可以指定自己方面的顺序,如中所述: 优先级最高的通知在“传入”过程中首先运行(因此,给定两条before通知,优先级最高的通知将首先运行)。从连接点

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


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

您可以通过设置
顺序
属性来指定Spring Security方面的顺序(我猜默认为零)

您还可以指定自己方面的顺序,如中所述:

优先级最高的通知在“传入”过程中首先运行(因此,给定两条before通知,优先级最高的通知将首先运行)。从连接点“在退出时”,优先级最高的通知将最后运行(因此,给定两条after通知,优先级最高的通知将第二次运行)。

您可以通过指定优先级来控制执行顺序。通过在aspect类中实现org.springframework.core.Ordered接口,或者使用Order注释对其进行注释,可以用普通的Spring方式实现这一点。给定两个方面,从Ordered.getValue()返回较低值(或注释值)的方面具有较高的优先级