【问题标题】:How can I add users to a role in MarkLogic over REST?如何通过 REST 将用户添加到 MarkLogic 中的角色?
【发布时间】:2019-03-12 13:16:38
【问题描述】:

使用 MarkLogic 开箱即用的其余 API,我如何将用户添加到角色?

如果我正在执行服务器端 javascript/xquery,我发现我可以使用 sec:user-add-roles

我还看到Manage API users put request 可以让我更新用户,但更新用户意味着我可以更改用户名、密码并添加任何角色。这也需要比我希望用户拥有的权限更高的权限。

如何通过其他 API 获得 sec:user-add-roles 函数的功能?

【问题讨论】:

    标签: marklogic


    【解决方案1】:

    您可以通过细粒度权限锁定 Manage API - https://docs.marklogic.com/guide/security/granular

    但是,如果您的要求仍然过于开放,我认为您需要创建一个自定义端点,以允许更新用户并强制执行您的特定安全要求。

    【讨论】:

      【解决方案2】:

      如果您打算使用自定义端点路由,请考虑 XQRS

      declare
        %rest:GET
        %rest:path("/security/user/{$user}/add-roles")
        %rest:query-param("role", "${role}")
        %xdmp:update
      function add-roles($user as xs:string, $role as xs:string*) {
        sec:user-add-roles($user, $role)
      };
      

      这将允许您按照以下方式发送 GET 请求:

      /security/user/jim/add-roles?role=merge&role=alert-user
      

      【讨论】:

        猜你喜欢
        • 2017-07-30
        • 2020-10-16
        • 2021-06-17
        • 1970-01-01
        • 2016-04-22
        • 1970-01-01
        • 2016-11-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多