【发布时间】:2017-06-03 14:29:20
【问题描述】:
考虑以下对 Artifactory REST API 的 POST:
curl -f -u admin:password \
-X POST \
-H 'Content-Type: application/json; charset=UTF-8' \
-d '{ "groups": ["oldgroup", "newgroup"] }' \
http://localhost/artifactory/api/security/users/targetuser
此请求确实确保用户是“旧组”和“新组”的成员,但另外它会删除用户的管理员权限(如果他们有的话):例如。更新后{ "admin": true }更改为{ "admin": false }。
如果用户最初是管理员,似乎需要额外传递{ "admin": true },以避免更新的这种奇怪的副作用:
curl -f -u admin:password \
-X POST \
-H 'Content-Type: application/json; charset=UTF-8' \
-d '{ "admin": true, "groups": ["oldgroup", "newgroup"] }' \
http://localhost/artifactory/api/security/users/targetuser
这似乎不是真正的更新。这是一个错误吗?我错过了什么吗?
此外,我想知道这是否与我最初传递的 'Content-Type' 标头有关,因为我使用的是完整的 application/vnd.org.jfrog.artifactory.security.User+json,但更改为 application/json 具有相同的结果。
我可以查看我是否使用 PUT 方法来创建或替换用户,但这是 POST 请求,并且似乎没有像我预期的那样工作。
Artifactory REST API 文档和我的研究:
- 方法:Update User
- 对象:application/vnd.org.jfrog.artifactory.security.User+json
- 来自旧 Jfrog 论坛的类似未答复帖子:thread
【问题讨论】:
标签: artifactory