我正在用springsecurity保护REST服务端点。最后,如果用户不能使用给定的函数来检查,那么我就不能用给定的函数来检查了。
为此,我有一组注释:
@PostFilter("#canViewOwnAssignment.canView(filterObject) or #canViewAllAssignments.canView(filterObject)")
@PreAuthorize("hasAnyAuthority('canViewOwnAssignment', 'canViewAllAssignments') and (#canViewOwnAssignment.canEnter(userId) or #canViewAllAssignments.canEnter(userId))")
…所有的方法。从上面的片段中唯一改变的是
canViewOwnAssignment公司
以及
.
我想简化一下,这样我就可以得到一个看起来像sg的注释:
@MyAnnotation(bean = CanViewAssignment.class, args = {"userId"})
我怎么能做到呢?
如果不需要的话,我宁愿不重写springsecurity的一半,只需要重写一个方法。