Spring MVC保护仅从REST获取用户数据

时间:2017-08-30 21:30:59

标签: java spring rest api spring-mvc

我使用Spring Spring(使用Spring MVC REST API)获得了应用程序Web,我正在寻找保护数据的方法,让用户只能获得自己的数据。

例如,我们有4个表,User - >表1 - >表2 - >表3,一对多的所有相关内容。我正在寻找最简单的过滤器请求方法" findAll()",当用户转到/ table3时,有一个控制器返回Table3Service.findAll()并且我想要过滤只返回belogns用户的数据。

感谢任何建议!

1 个答案:

答案 0 :(得分:0)

看起来你需要@PostFilter注释

@PostFilter("hasPermission(filterObject, 'read') or hasPermission(filterObject, 'admin')")
public List<Contact> getAll();

并实施方法

boolean hasPermission(Authentication authentication, Object targetDomainObject, Object permission);

boolean hasPermission(Authentication authentication, Serializable targetId, String targetType, Object permission);

查看更多here