sec.createUser( user-name as String, description as String?, password as String, role-names as String[], permissions as element(sec.permission)[], collections as String[], [external-names as String[]], [queries as Object] ) as (Number|String)
Creates a new user in the system database for the context database. Returns the user ID of the created user.
http://marklogic.com/xdmp/privileges/create-user
or create-data-user
http://marklogic.com/xdmp/privileges/grant-all-roles
orhttp://marklogic.com/xdmp/privileges/grant-my-roles
http://marklogic.com/xdmp/privileges/user-set-queries
This function must be executed against the security database.
// execute this against the security database declareUpdate(); const sec = require('/MarkLogic/security.xqy'); sec.createUser( "Jim", "Jim the temp", "newtemp", "Temporary", [xdmp.permission("security", "read","element")] ["http://marklogic.com/dev_modules"]) // Creates a new user, named "Jim," with the role, "Temporary." "Jim" // is assigned the default permission, security(read), and the default // collection, "http://marklogic.com/dev_modules".
// execute this against the security database. declareUpdate(); const sec = require('/MarkLogic/security.xqy'); sec.createUser( "Mike", "Mike the contractor", "password", "can-read", [], [], [], { "read":cts.elementQuery(xs.QName("metadata"), cts.elementWordQuery(xs.QName("group"), "group-all")) } ) // Creates a new user, named "Mike", and with the role "can-read". "Mike" has user // queries which allows him to read only the documents with "group-all" in the // metadata.