This resource address creates a new user in the security database.
URL Parameters | |
---|---|
format | The format of the posted data. Can be either
html , json , or xml (default). This value overrides
the Accept header if both are present. |
Upon success, MarkLogic Server returns status code 201 (Created). If the user already exists or if the payload is malformed, a status code of 400 (Bad Request) is returned. A status code of 401 (Unauthorized) is returned if the user does not have the necessary privileges.
manage-admin
and security
rolehttp://marklogic.com/xdmp/privileges/manage
http://marklogic.com/xdmp/privileges/manage-admin
http://marklogic.com/xdmp/privileges/create-user
manage
role, http://marklogic.com/xdmp/privileges/manage
plus the following granular privileges:
http://marklogic.com/xdmp/privileges/create-data-user
and http://marklogic.com/xdmp/privileges/user-set-queries
to create users with queries.http://marklogic.com/xdmp/privileges/user/inherit/user-ID
The structure of the data in the request body is shown below. The user-name
property is required. In MarkLogic Server 9.0-8 and earlier, the password
property
is also required. Starting in MarkLogic Server 9.0-9, if the password
property
is not provided, a strong, random password will be generated. In 10.0-7, the property
queries
was added.
Note: The properties described here are for XML payloads. In general they are the same for
JSON, with the exception that, in JSON, roles
, external-names
,
permissions
, collections
and queries
are expressed in
singular form. For example, in JSON, permissions
is instead permission
and the format is: "permission":[{"role-name":"name", "capability":"cap"}]
. Please
pay special attention that the singular form of queries
is capability-query
.
user-name
description
password
external-names
This is a complex structure with the following children:
external-name
roles
This is a complex structure with the following children:
role
permissions
This is a complex structure with the following children:
permission
This is a complex structure with the following children:
role-name
capability
collections
This is a complex structure with the following children:
collection
queries
This is a complex structure with the following children:
capability-query
This is a complex structure with the following children:
capability
query
This is a complex structure with the following children:
cts:query
curl -X POST --anyauth -u admin:admin --header "Content-Type:application/json" \ -d '{"user-name":"joe", "password": "cool", "role": [ "rest-reader", "rest-writer" ] }' \ http://localhost:8002/manage/v2/users ==> Creates a user, named '"joe" with the "rest-reader" and "rest-writer" roles, in the Security database.
// JSON payload example for creating a user with queries. $ cat payload.json { "user-name": "Vanessa", "password": "strongpassword", "description": "Software development engineer", "capability-query": [{ "capability":"read", "query": { "elementQuery": { "element": ["metadata"], "query": { "elementWordQuery": { "element": ["region"], "text": ["NA"], "options": ["lang=en"] } } } } }] } curl -X POST -i --digest -u admin:admin -H "Content-Type:application/json" \ -d @payload.json http://localhost:8002/manage/v2/users ==> Creates a user, named "Vanessa", with user queries for "read", in the Security Database.
(: XML payload for creating a user with queries :) $ cat payload.xml <user-properties xmlns="http://marklogic.com/manage/user/properties"> <user-name>Vanessa</user-name> <password>strongpassword</password> <description>Software development engineer</description> <queries> <capability-query> <capability>read</capability> <query> <cts:element-query xmlns:cts="http://marklogic.com/cts"> <cts:element>metadata</cts:element> <cts:element-word-query> <cts:element>region</cts:element> <cts:text xml:lang="en">NA</cts:text> </cts:element-word-query> </cts:element-query> </query> </capability-query> </queries> </user-properties> curl -X POST -i --digest -u admin:admin -H "Content-Type:application/xml" \ -d @payload.xml http://localhost:8002/manage/v2/users ==> Creates a user, named "Vanessa", with user queries for "read", in the Security Database.
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.