我已经阅读并了解,有几种设置权限的方法,例如sec:collection-set-permissions
,xdmp:document-set-permissions
,sec:path-set-permissions
,sec:protect-path
,sec:priv-doc-permissions
,设置MLCP和修订的许可。
但是,我一直在尝试查看是否还有其他方法以及是否可以以可扩展的方式进行CTS:Search +权限设置。现在,我知道我可以使用类似以下问题Pattern or Format Match in XQuery MarkLogic中所示的方法来完成此任务。但是,这种方法似乎无法通过使用for循环进行扩展。
任何建议解决以及以可扩展方式设置权限的任何建议,将不胜感激。
答案 0 :(得分:1)
您所指的功能与完全不同的安全性主题相关,每个主题都有不同的用途。为了清楚起见:
sec:collection-set-permissions
与受保护的收藏集有关,后者与谁可以向收藏夹中添加文档有关(而不是保护其中的文档)xdmp:document-set-permissions
和MLCP的-output_permissions
参数与文档权限有关,这是您控制谁可以访问哪个文档的方式。隔离专区安全是此处的相关主题。sec:path-set-permissions
和sec:protect-path
与“受保护的路径”有关,这与文档内部元素或属性级别上的细粒度访问控制有关。换句话说,它增加了文档访问权限。也称为元素级别安全性(ELS)。sec:priv-doc-permissions
只是一个内部功能,可帮助创建所谓的特权。通常不需要使用sec
库中的函数。通常,您还应该预先设计安全计划,以避免以后需要接触您的文档。
但是在开发过程中,您经常发现自己需要应用更改。对于文档,这仅适用于xdmp:document-set-permissions
,因为那是应该应用于文档本身的唯一方法。基本上,您会为此执行“ for循环”,但不会一次在所有文档上进行。通常,您要批处理要处理的文件,然后将处理生成到任务服务器上。这里有一些关于此的指针:https://stackoverflow.com/a/52953123/918496
通过添加受保护的路径将触发所有相关文档的重新索引,MarkLogic将为您完全自动进行处理。保护集合只会在应用保护后影响插入和更新。
HTH!