我正在使用当前版本的Spring Data Rest(SDR)和Spring Security(SS)并拥有以下实体:
我想要做的是在给定当前用户权限的情况下,通过SDR自定义为实体返回的信息。我知道SDR中的预测,但我认为它们不适合我当前的问题,因为这应该透明地完成,而无需用户在请求中指定预测。
鉴于以下内容:
(1) /teams/{team_id}/members
(2) /teams/{team_id}/members/{member_id}
(3) /users/{user_id}/teamsJoined
以下是我要实施的内容:
我在考虑使用AOP,但我不确定它是否可行。实现这个的最佳方法是什么?
答案 0 :(得分:0)
我不确定基于请求用户公开资源的各种表示(在同一个uri)遵循REST原则。你应该使用另一个uri。
也许您可以将原始实体中仅某些用户可见的数据拆分为另一个子实体(1-1关系),并限制对这些相关资源端点的访问。您可以在存储库方法中使用@PreAuthorize
和@PostFilter
注释,以根据已识别的用户限制对资源的访问。