【发布时间】:2016-05-23 17:10:45
【问题描述】:
假设我有一个 User 实体,其 ManyToMany 映射到 UserGroup 实体。如果我为这两个实体创建存储库并获取 URI /users/1,我会收到如下响应:
{
"enabled" : true,
"password" : "xxxxxx",
"username" : "xxxxxx",
"credentialsNonExpired" : true,
"accountNonLocked" : true,
"accountNonExpired" : true,
"_links" : {
"self" : {
"href" : "http://127.0.0.1:45950/users/1"
},
"user" : {
"href" : "http://127.0.0.1:45950/users/1"
},
"userGroups" : {
"href" : "http://127.0.0.1:45950/users/1/userGroups"
}
}
}
这里的 userGroups 链接真的很有用。
我可以使用/userGroups 端点列出所有UserGroups。
我想使用不同的spring-security 表达式来保护/userGroups 端点和/users/1/userGroups 端点。
在此处使用参考:http://docs.spring.io/spring-data/rest/docs/current/reference/html/#security 我了解如何保护第一个端点:
public interface UserGroupRepository extends PagingAndSortingRepository<UserGroup, Long> {
@PreAuthorize("hasRole('ROLE_ADMIN')")
@Override
Iterable<T> findAll();
}
但是如何保护第二个端点?目前这甚至可能吗?是否有针对此类功能的一些工作计划。我很乐意做出贡献。
【问题讨论】:
标签: spring spring-security spring-data spring-data-rest