我正在使用spring的@Around注解来提供DAO调用的缓存,并使用spring security的@PostFilter来限制对某些记录的查看。但是,我担心缓存可能会绕过PostFilter并带来安全问题。
如何判断@PostFilter和@Around包装目标对象的顺序?
发布于 2011-09-16 03:32:12
您可以通过设置<security:global-method-security>的order属性来指定Spring Security的方面的顺序(我猜默认情况下它是零)。
您还可以按照7.2.4.7 Advice ordering中的说明指定您自己的方面的顺序
优先级最高的建议在“进入的过程中”首先运行(因此给出两个before建议,具有最高优先级的建议首先运行)。从连接点“在出去的路上”,优先级最高的通知最后运行(因此,如果给出两段after建议,优先级最高的通知将排在第二位)。
..。
您可以通过指定优先级来控制执行顺序。这是通过在aspect类中实现org.springframework.core.Ordered接口或者用Order注释来实现的。给定两个方面,从Ordered.getValue()返回较低值(或注释值)的方面具有较高的优先级。
https://stackoverflow.com/questions/7436191
复制相似问题