使用MarkLogic开箱即用的rest API,我如何将用户添加到角色?
我知道如果我在执行服务器端的javascript/xquery,我可以使用sec:user-add-roles。
我还看到Manage API users put request允许我更新用户,但更新用户意味着我可以更改用户名、密码和添加任何角色。这也需要比我希望用户拥有的权限更高的权限。
如何通过rest API获得sec:user-add-roles函数的功能?
发布于 2019-03-13 06:36:58
您可以通过粒度权限- https://docs.marklogic.com/guide/security/granular来稍微锁定一下Manage API
但是,如果对您的需求来说仍然太开放,我认为您需要创建一个自定义端点,它允许更新用户并执行您的特定安全需求。
发布于 2019-03-13 17:36:16
如果你打算走自定义端点的路线,考虑一下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
https://stackoverflow.com/questions/55122379
复制相似问题