MarkLogic 9 Product Documentation
admin:appserver-set-privilege

admin:appserver-set-privilege(
   $config as element(configuration),
   $appserver-id as xs:unsignedLong,
   $value as xs:unsignedLong
) as element(configuration)

Summary

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.

Parameters
config A configuration specification, typically as returned from one of the Admin module functions.
appserver-id The ID of the App Server. Typically, this is the result of an admin:appserver-get-id call.
value The privilege ID of an execute privilege needed to access this App Server.

Required Privileges

This operation requires at least one of the following privileges:

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}

Example


  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.  :)

  
Powered by MarkLogic Server | Terms of Use | Privacy Policy