【发布时间】:2021-04-27 11:19:07
【问题描述】:
我有一个用 @PreAuthorize(...) 注释的方法,其中一些逻辑消失了,并查询 API 以获取有关用户可以查看的一些信息。但是,我有这个端点,我需要将这个 @PreAuthorize 注释添加到其中接收一个更“复杂”的对象,我想稍微转换(该对象包含一个数组,在某些情况下我想从中添加/删除数据) .
@PostMapping("/search")
@PreAuthorize("@Service.isAuth(#searchParam)")
public ResponseEntity<Response> search(SearchParams searchParam) {
return service.getSearchResult(searchParam);
}
有没有办法我可以在@PreAuthorize 注释中修改searchParam,然后将其传递到方法体中,我知道这可能不是正确的方法,也可能不是@PreAuthorize不是为此而设计的,但即使使用不同类型的注释也有任何方法可以做到这一点。显然在最坏的情况下,我可以将逻辑移到方法主体中,但如果可能的话,我更愿意使用像 @PreAuthorize 提供的基于注释的解决方案。感谢您提供任何帮助,即使指向其他相关内容的链接也会很有用,我在 google 上没有找到很多与此相关的内容。
【问题讨论】:
标签: java spring spring-boot