Как я могу добавить пользователей к роли в MarkLogic через REST? - PullRequest
1 голос
/ 12 марта 2019

Как использовать встроенные API MarkLogic, как добавить пользователя к роли?

Я вижу, что мог бы использовать sec: user-add-role , если бы я выполнял на сервере javascript / xquery.

Я также вижу, что Запрос управления пользователями API позволит мне обновить пользователя, но обновление пользователя означает, что я могу изменить имя пользователя, пароль и добавить любую роль. Это также требует более высоких привилегий, чем я хочу от пользователя.

Как я могу получить функциональность функции sec: user-add-role над API остальных?

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

Если вы собираетесь «пройти по маршруту пользовательской конечной точки», рассмотрите 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
0 голосов
/ 13 марта 2019

Вы можете немного заблокировать управление API с помощью гранулярных привилегий - https://docs.marklogic.com/guide/security/granular

Но если это все еще слишком открыто для ваших требований, я думаю, вам нужно создать собственную конечную точку, которая позволяет обновлять пользователей, а также обеспечивает соблюдение ваших конкретных требований безопасности.

...