You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Marklogic REST服务更新、增删现有用户角色?求示例代码

使用MarkLogic REST服务管理用户角色(添加、移除、更新)

MarkLogic的REST管理API完全支持对现有用户的角色进行添加、移除和更新操作,核心通过/manage/v2/users/{user-name}/roles端点实现,操作时需使用拥有security-admin或同等权限的用户身份调用。

1. 为用户添加角色

使用POST请求追加角色,不会覆盖用户现有角色:

curl -X POST \
  --user admin:your-admin-password \
  -H "Content-Type: application/json" \
  -d '{"role-name": ["editor", "content-contributor"]}' \
  http://localhost:8002/manage/v2/users/john-doe/roles
  • 替换admin:your-admin-password为有权限的用户凭证
  • john-doe是目标用户名
  • role-name数组中填写要添加的角色名称,支持批量添加

2. 从用户移除角色

使用DELETE请求移除指定角色,有两种实现方式:

方式一:请求体批量移除

curl -X DELETE \
  --user admin:your-admin-password \
  -H "Content-Type: application/json" \
  -d '{"role-name": ["content-contributor"]}' \
  http://localhost:8002/manage/v2/users/john-doe/roles

方式二:URL参数单个移除

curl -X DELETE \
  --user admin:your-admin-password \
  http://localhost:8002/manage/v2/users/john-doe/roles?role-name=content-contributor

3. 更新用户角色(替换所有现有角色)

使用PUT请求传入全新的角色列表,会完全覆盖用户当前的所有角色:

curl -X PUT \
  --user admin:your-admin-password \
  -H "Content-Type: application/json" \
  -d '{"role": [
    {"role-name": "admin"},
    {"role-name": "content-manager"}
  ]}' \
  http://localhost:8002/manage/v2/users/john-doe/roles

执行后,用户john-doe的角色将被替换为admin和content-manager,原有角色全部移除。

注意事项

  • 确保MarkLogic服务的管理端口(示例中为8002)与你的实际配置一致
  • 除JSON格式外,也支持XML作为请求体格式,只需调整Content-Type为application/xml并修改请求体结构

内容的提问来源于stack exchange,提问作者Balan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 20:55:19