jpa - 如何使用spring AOP根据授权用户的范围返回对象
问题描述
所以这是我的挑战,我有一个使用 JPA 从数据库返回对象列表的方法。我希望能够使用自定义注释和 Spring AOP 过滤该方法的响应。
一种方法是使用 @Around 注释劫持响应,proceed() 并过滤该函数的响应。但这实施起来很糟糕,而且无法扩展。
那么有没有更好的方法来实际实现这个方面,并且让建议的方法只根据范围返回结果而不更改要建议的方法中的代码?
编辑...
我有一个带有端点的控制器,该端点从数据库中返回人员列表。
@Autowired
TestService service;
@RequestMapping("/get")
@AuthorizeAndFilter
public List<Person> getAll() {
return service.getall();
}
我希望能够创建一个自定义 @AuthorizeAndFilter 注释并让它按此顺序执行。
- 确保 Authenticated 主体有权进行此调用或引发 403 异常。
- 它不应返回数据库中的所有人员,而应仅返回与经过身份验证的用户来自同一区域的人员。
解决方案
推荐阅读
- django - DRF:可在序列化程序选择字段“选择”中调用
- javascript - 触摸移动在 30-80 次后卡住并出现控制台错误
- python - Python 计数器值和 boolean all() 未按预期工作
- c++ - C++ 编译器不喜欢“使用 INLINE = extern inline”
- java - 如何使用 JAVA 泛型从 POJO 类对象中获取(int)值
- node.js - 在布尔查询中匹配条件的记录数
- r - 如何从r中的多个列表追加到列表?
- java - Guice 绑定泛型类型
- android - 如何将bin文件从android内部存储上传到android中的http服务器
- c++ - 当我从这个 makefile 构建它时,为什么我的 Windows 可执行文件不会运行?