
admin:appserver-set-privilege( $config as element(configuration), $appserver-id as xs:unsignedLong, $value as xs:unsignedLong ) as element(configuration)
This function sets an execute privilege in the configuration for the specified App Server. When a privilege is set, the user who makes a request to the App Server must have been granted (via a role, either directly or indirectly) the specified privilege.
http://marklogic.com/xdmp/privileges/admin/app-server-security
http://marklogic.com/xdmp/privileges/admin/app-server-security/{id}
http://marklogic.com/xdmp/privileges/admin/group-security
http://marklogic.com/xdmp/privileges/admin/group-security/{id}
xquery version "1.0-ml";
import module namespace admin = "http://marklogic.com/xdmp/admin"
at "/MarkLogic/admin.xqy";
let $config := admin:get-configuration()
let $groupid := admin:group-get-id($config, "Default")
return
admin:appserver-set-privilege($config,
admin:appserver-get-id($config, $groupid, "myAppServer"),
xdmp:eval('
xquery version "1.0-ml";
import module "http://marklogic.com/xdmp/security"
at "/MarkLogic/security.xqy";
sec:get-privilege("http://marklogic.com/my.uri",
"execute")/sec:privilege-id',
(),
<options xmlns="xdmp:eval">
<database>{xdmp:security-database()}</database>
</options>))
(: returns the new configuration element -- use admin:save-configuration
to save the changes to the configuration or pass the configuration
to other Admin API functions to make other changes. :)
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.