1

如何在 MarkLogic 中为应用程序用户设置 set-session-field() 函数的权限?我似乎在 MarkLogic 文档中找不到此信息,当我尝试使用此功能时,我目前收到以下错误:

SEC-PRIV: xdmp:set-session-field(" myfield ", " myvalue ") -- 需要权限:http : //marklogic.com/xdmp/privileges/xdmp-set-session-field in /my_xquery_file.xqy,在 48:6 [1.0 毫升]

谢谢

ps 得到这个:好的,对于需要此信息的其他人,我在第 28 页的 MarkLogic 文档“理解和使用安全指南”中找到了它。在浏览器中打开 MarkLogic 管理面板;转到配置->安全->执行权限;向下滚动以找到您要授予的功能/权限,然后单击特定功能/权限。在下一个屏幕中,如果您希望 xquery 脚本执行该功能,请检查 app-user。我的应用程序现在可以在用户会话中存储数据(设置会话字段权限)。

4

2 回答 2

1

除了让所有具有该app-user角色的用户能够创建会话字段之外,您还可以考虑创建一个库函数来创建特定类型的会话字段(可能针对特定用户)并将函数添加到可以创建会话字段的角色。Amps 允许您临时提升特定函数调用的权限。它们允许用户在应用程序的上下文中执行特权操作,而无需授予该用户在任何上下文中执行相同任务的一揽子特权。您可以在上面引用的《理解和使用安全指南》的第 5.2 节中阅读有关放大器的更多信息。

于 2012-04-03T23:03:47.357 回答
1

是的,你给自己的答案是正确的。

可在此处找到该手册 PDF 副本的链接:http: //community.marklogic.com/docs(直接链接:http: //community.marklogic.com/pubs/5.0/books/security.pdf)。可搜索的文档站点也值得注意。它可以在这里找到:http: //docs.marklogic.com/5.0doc/docapp.xqy(直接链接到执行权限部分:http://docs.marklogic.com/5.0doc/docapp.xqy#display。 xqy?fname=http://pubs/5.0doc/xml/security/execute.xml)。

请注意,MarkLogic 的安全模型是基于角色的。您将执行权限分配给一个角色,并且您进行身份验证的用户需要具有此角色。因此,如果您的用户具有 app-user 角色,则上述内容是正确的。

于 2012-04-03T05:52:31.017 回答