Установка привилегий MarkLogic - PullRequest
1 голос
/ 03 апреля 2012

Как установить привилегию для функции set-session-field () в MarkLogic для пользователя приложения? Я не могу найти эту информацию в документации 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 мл]

ТНХ

p.s. Получил это: Хорошо, для всех, кому нужна эта информация, я нашел ее в документе MarkLogic «Руководство по безопасности и его использование» на стр. 28. Откройте панель администратора MarkLogic в своем браузере; Перейдите в Configure-> Security-> Execute Привилегии; Прокрутите вниз, чтобы найти функцию / привилегию, которую вы хотите предоставить, и щелкните по определенной функции / привилегии. На следующем экране проверьте пользователя приложения, хотите ли вы, чтобы ваши сценарии xquery выполняли эту функцию. Мое приложение теперь может хранить данные в пользовательских сеансах (установить привилегию поля сеанса).

Ответы [ 2 ]

1 голос
/ 04 апреля 2012

Вместо того, чтобы предоставлять всем пользователям с ролью app-user возможность создавать поля сеансов, вы можете также рассмотреть возможность создания библиотечной функции, которая создает определенные типы полей сеансов (возможно, для определенных пользователей) и amp эта функция для роли, которая может создавать сеансовые поля. Усилители позволяют временно повысить разрешения для вызова определенной функции. Они позволяют пользователю выполнять привилегированные действия в контексте приложения, не предоставляя этому пользователю полную привилегию для выполнения той же задачи в любом контексте. Вы можете прочитать больше об усилителях в разделе 5.2 Руководства по безопасности *1005*, на которое есть ссылки выше.

1 голос
/ 03 апреля 2012

Да, ответ, который вы даете себе, является правильным.

Ссылку на 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 основана на ролях.Вы назначаете привилегию «Выполнение» роли, и пользователь, с которым вы проходите аутентификацию, должен иметь эту роль.Так что, если у вашего пользователя есть роль пользователя приложения, вышеприведенное будет правильным.

HTH!

...