【问题标题】:MarkLogic privilege settingMarkLogic 权限设置
【发布时间】:2012-04-02 22:40:17
【问题描述】:

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

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

谢谢

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

【问题讨论】:

  • 在问题中提出并回答。

标签: marklogic


【解决方案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 角色,则上述内容是正确的。

HTH!

【讨论】:

  • 所以我想我需要确保登录到我的应用程序的每个人现在都拥有 app-user 角色。谢谢。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2019-07-22
    • 2013-12-21
    • 1970-01-01
    • 2018-12-06
    • 2017-07-12
    • 1970-01-01
    • 2015-08-01
    • 2017-10-23
    • 1970-01-01
    相关资源
    最近更新 更多