我们刚刚从2.0.8迁移到Spring Security3.0.8(不能升级到最新版本3.2.X,因为我们的核心spring库还在3.0.X上,我们计划在业务允许的时候再升级)。
我知道我们现在有了用于保护@PreAuthorize
、@PostAuthorize
、@Secured
、@PreFilter
和@PostFilter
等方法的注解。
我理解@PreAuthorize
的使用,这真的很有意义。但是想不出任何有效的用例来使用@PostAuthorize
或@PostFilter
注解?
使用过它的人能给我解释一下使用它们的合理用例吗?
提前感谢!
2条答案
按热度按时间neskvpey1#
@PostAuthorize
和@PostFilter
通常与ACL结合使用。@PostAuthorize
会在返回一些没有访问权限的对象时生成异常,而@PostFilter
会删除没有访问权限的对象(通常在返回元素集合时很有用)。ahy6op9u2#
@PostFilter
在执行方法后过滤返回的集合或数组。Spring security提供了一个名为filterObject的内置对象,@PostFilter
在该对象上执行过滤任务。@PostFilter
可以与@PreAuthorize
和@PostAuthorize
一起在服务层上使用。使用接口声明过滤器操作。