如何使用 spring AOP 根据授权用户的范围返回对象

问题描述

所以这是我的挑战,我有一个使用 JPA 从数据库返回对象列表的方法。我希望能够使用自定义注释和 Spring AOP 过滤该方法的响应。

一种方法是使用@Around 注释劫持响应,继续()并过滤该函数的响应。但这很糟糕,无法扩展。

那么有没有更好的方法来实际实现这个方面,让被通知方法只返回基于范围的结果而不改变被通知方法中的代码

编辑...

我有一个带有端点的控制器,可以从数据库中返回人员列表。

@Autowired
TestService service;

@RequestMapping("/get")
@AuthorizeAndFilter
public List<Person> getAll() {
    return service.getall();
}

我希望能够创建自定义 @AuthorizeAndFilter 注释并让它按此顺序执行。

  1. 确保经过身份验证的主体有权进行此调用或引发 403 异常。
  2. 它不应返回数据库中的所有人员,而应仅返回与经过身份验证的用户来自同一地区的人员。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)