Ane*_*ran 12 java spring spring-security spring-security-acl
我们刚刚迁移到春季安全3.0.8从2.0.8(可"升级到latestversion这是3.2.X作为我们的核心Spring库仍然在3.0.x的,我们计划以后升级时,经营许可证).
据我所知,我们现在有注释为确保类似的方法@PreAuthorize
,@PostAuthorize
,@Secured
,@PreFilter
和@PostFilter
.
我理解使用@PreAuthorize
,这真的很有意义.但是不能想到你曾经使用@PostAuthorize
或@PostFilter
注释的任何有效用例?
使用它的人可以向我解释使用它们的合理用例吗?
提前致谢!
M. *_*num 14
无论是@PostAuthorize
和@PostFilter
使用居多,与ACL的组合.如果@PostAuthorize
返回某个无法访问的内容,将生成异常,@PostFilter
将删除无法访问的对象(通常在返回元素集合时很有用).
小智 5
@PostFilter
执行方法后过滤返回的集合或数组。Spring security提供了一个名为filterObject的内置对象,用于@PostFilter
执行过滤任务。
@PostFilter
可以在服务层上使用@PreAuthorize
和@PostAuthorize
。
使用接口来声明过滤操作。
public interface IBookService {
@PreAuthorize ("hasRole('ROLE_READ')")
@PostFilter ("filterObject.owner == authentication.name")
public List<Book> getBooks();
@PreAuthorize("filterObject.owner == authentication.name")
public void addBook(List<Book> books);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3203 次 |
最近记录: |