我以如下示例结构加载了员工数据
<employee>
<id>value</id>
<first-name>first</first-name>
<last-name>last</last-name>
<address></address>
</employee>
创建了一个模板,以获取按预期方式工作的id,名字和姓氏。
使用op:from-view(“ customer”,“ employee”)=> op:result()进行的简单光学查询以获取结果。
但是当我在名字和姓氏上配置受保护的路径时,同一查询不会返回任何结果。
即使我在QC中以管理员用户身份运行查询,我是否也需要在模板中授予任何权限?
您只能使用角色作为与受保护路径相关联的查询角色集的一部分的用户,在包含受保护值的索引中搜索并从中提取值。
管理员角色确实会绕过MarkLogic的大多数区域的安全性,但是受保护的路径是少数例外之一。管理员用户可以提取包括受保护数据在内的完整文档,但不能对其进行搜索,除非您添加查询角色集中列出的角色。
因此,给您的管理员用户适当的角色来访问受保护的数据,它将起作用。
HTH!
联系MarkLogic支持人员后,我得到了解决方案。
一旦我授予了文档级别的权限,就只有我授予受保护的路径访问/查询角色集的用户。每件事都对该用户有效。
如果我需要让它为管理员工作。我也需要为管理员做同样的事情,以便我可以获取所需的数据(因为三元组是根据安全性数据库中的模板创建的。)>
我现在学得很好:)