【发布时间】:2017-03-03 23:17:48
【问题描述】:
我正在使用漂亮的 spring-boot-starter-data-rest 设置并启用了 PATCH 方法。一切正常,但我有一个安全问题,想知道缓解它的推荐方法是什么。
问题在于PATCHpaths 允许从不同的端点更新可访问的实体。所以,假设我有一个comments 端点和一个article 端点。每条评论与其文章都有一对一的关联。有权编辑评论的用户可以执行以下操作:
PATCH http://some.domain.foo/api/comments/1234
Content-Type: application/json-patch+json
[
{ "op": "replace", "path": "/article/title", "value": "foobar2" }
]
从而改变文章的标题!!
显然这不好。
在这种情况下,对于 API 的其他部分,与“文章”的关联需要是可遍历的。但它必须是只读的。
那么...我如何在 Spring 中实现这一点?
拦截请求? 实现处理程序方法? 从头开始编写我自己的控制器?
谢谢!
【问题讨论】:
标签: java spring spring-mvc json-patch