Spring 如何确保弹簧座积木放置可以';Don’别把唱片卖给新的主人
我的应用程序想使用SpringREST库获取和保存我的组织对象。我有一个crudepository扩展,用于检查userId字段是否与主体的字段匹配:Spring 如何确保弹簧座积木放置可以';Don’别把唱片卖给新的主人,spring,spring-security,spring-data,spring-rest,spring-el,Spring,Spring Security,Spring Data,Spring Rest,Spring El,我的应用程序想使用SpringREST库获取和保存我的组织对象。我有一个crudepository扩展,用于检查userId字段是否与主体的字段匹配: @RepositoryRestResource(path=“org”) 公共接口OrgRepository扩展了Crudepository{ @凌驾 @PostAuthorize(“returnObject.userId==principal.id | | hasRole('ROLE_ADMIN')”) 公共组织findOne(@Param(“i
@RepositoryRestResource(path=“org”)
公共接口OrgRepository扩展了Crudepository{
@凌驾
@PostAuthorize(“returnObject.userId==principal.id | | hasRole('ROLE_ADMIN')”)
公共组织findOne(@Param(“id”)Long id);
@凌驾
@PostFilter(“filterObject.userId==principal.id | | hasRole('ROLE_ADMIN')”)
公共可数findAll();
@凌驾
@抑制警告(“未选中”)
@后授权(“reutrnObject.userId==principal.id | | hasRole('ROLE_ADMIN')”)
}
我已经在Ajax请求上成功地测试了以下内容:
- PUT/org/2,当主体具有role\u ADMIN时,带有字段(userId:2)
- PUT/org/2,当主体不是admin并且具有(returnObject.userId==2和principal.id==2)时,带有字段(userId:2)
- 当主体不是admin并且具有(returnObject.userId==1和principal.id==2)时,放置/org/1,带有字段(userId:1)。它使用HTTP 403失败,这是可取的
- POST/org,带有字段(userId:2),当主体不是admin时
有没有办法强迫别人(userId你找到一个合理的解决方案了吗?我真的在寻找一个合适的解决方案。我从来没有得到一个好的答案。我猜我对这个API要求太多了。在它的位置我创建了一个DAO答案。在上看到一个完整的实现。好的,谢谢。在这一点上我得到了相同的印象。事实上。我要学习你你的代码。看起来很整洁:)