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

如何在MarkLogic中获取特定角色的用户列表并移除该角色下的用户

MarkLogic 角色用户检索与移除方案

一、检索特定角色下的所有用户

MarkLogic 提供了sec:role-get-users()函数,正好满足根据角色查询关联用户的需求,和你当前使用的sec:user-get-roles()是反向操作。

示例代码:

xquery version "1.0-ml";
import module namespace sec="http://marklogic.com/xdmp/security" at 
"/MarkLogic/security.xqy";

-- 替换为你的目标角色名
sec:role-get-users("目标角色名")

该函数会返回目标角色下所有用户的用户名序列。

二、批量移除用户的指定角色

结合检索结果,可遍历所有关联用户,逐一移除目标角色。示例代码如下:

xquery version "1.0-ml";
import module namespace sec="http://marklogic.com/xdmp/security" at 
"/MarkLogic/security.xqy";

let $target-role := "目标角色名"
let $users-in-role := sec:role-get-users($target-role)
return
  for $user in $users-in-role
  return sec:user-remove-roles($user, ($target-role))

注意事项

  • 执行操作需要具备security-admin或manage-admin级别的权限,否则会因权限不足执行失败。
  • 建议先执行检索代码确认用户列表,再执行移除操作,避免误操作。

内容的提问来源于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 08:58:24