我使用Spring Spring(使用Spring MVC REST API)获得了应用程序Web,我正在寻找保护数据的方法,让用户只能获得自己的数据。
例如,我们有4个表,User - >表1 - >表2 - >表3,一对多的所有相关内容。我正在寻找最简单的过滤器请求方法" findAll()",当用户转到/ table3时,有一个控制器返回Table3Service.findAll()并且我想要过滤只返回belogns用户的数据。
感谢任何建议!
答案 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