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

如何为MarkLogic中的现有时态文档给角色添加权限?

问题:为MarkLogic时态文档添加读取权限失败

在带有时态功能的MarkLogic数据库中,数据已分配给特定角色权限。尝试为read-user角色授予/entities/abc.xml时态文档的读取权限,使用了xdmp:document-add-permissions函数:

xdmp:document-add-permissions(
  "/entities/abc.xml",
  (xdmp:permission("read-user", "read"))
) 

但触发如下错误:

1.0-ml] SEC-TEMPORALDOC: xdmp:document-add-permissions("/entities/abc.xml",
<sec:permission xmlns:sec="http://marklogic.com/xdmp/security">
sec:capability...</sec:capability>...</sec:permission>)
-- Cannot perform non-temporal operation on document in temporal collection

解决方案

时态文档不支持普通的非时态权限操作,必须使用MarkLogic提供的时态文档专用权限管理函数:xdmp:temporal-document-add-permissions。

示例代码

xdmp:temporal-document-add-permissions(
  "/entities/abc.xml",
  "your-temporal-collection-name", -- 替换为目标文档所属的时态集合名称
  (xdmp:permission("read-user", "read"))
)

注意事项

  • 必须传入文档所属的时态集合名称,这是时态操作的必要参数,确保操作作用于正确的时态文档上下文。
  • 如果需要替换而非追加权限,可以使用xdmp:temporal-document-set-permissions函数;若要批量处理所有时态版本,需结合遍历逻辑实现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 05:10:00