Interact with Users

Version 1 by Robin Shen
on Dec 24, 2009 08:09.


 
compared with
Version 2 by Robin Shen
on Jun 10, 2010 14:02.


Key
These lines were removed. This word was removed.
These lines were added. This word was added.

View page history


There are 22 changes. View first change.

 h1. Access user by id
  h1. Get all users in the system
  
 h2. Syntax
User can be accessed by id using http GET method through below url:
 {code}http://localhost:8810/rest/user?id=<user id>{code}
 The response is of mime type _application/xml_ and the content is xml representation of the user.
  Users in the system can be accessed using http GET method through below url:
 {code}http://localhost:8810/rest/users{code}
 The response is of mime type _application/xml_ and the content is XML representation of all users in the system.
  
 h2. Security
You will need to use http BASIC authentication to login as authorized QuickBuild user if the anonymous does not have adminstrative rights.
  You will need to use http BASIC authentication to login as authorized QuickBuild user if the anonymous does not have adminstrative right.
  
 h2. Demo
Below [curl|http://curl.haxx.se/] command demonstrates how to get user of id _1_:
 {code}curl -u admin:admin http://localhost:8810/rest/user?id=1{code}
  Below [curl|http://curl.haxx.se/] command demonstrates how to get all users:
 {code}curl -u admin:admin http://localhost:8810/rest/users{code}
  
h1. Access user by name
  h1. Access user by id
  
 h2. Syntax
User can be accessed by name using http GET method through below url:
 {code}http://localhost:8810/rest/user?name=<user name>{code}
 The response is of mime type _application/xml_ and the content is xml representation of the user.
  User can be accessed by id using http GET method through below url:
 {code}http://localhost:8810/rest/users/<user id>{code}
 The response is of mime type _application/xml_ and the content is XML representation of the user.
  
 h2. Security
You will need to use http BASIC authentication to login as authorized QuickBuild user if the anonymous does not have adminstrative rights.
  You will need to use http BASIC authentication to login as authorized QuickBuild user if the anonymous does not have adminstrative right.
  
 h2. Demo
Below [curl|http://curl.haxx.se/] command demonstrates how to get user of name _admin_:
 {code}curl -u admin:admin http://localhost:8810/rest/user?name=admin{code}
  Below [curl|http://curl.haxx.se/] command demonstrates how to get user of id _1_:
 {code}curl -u admin:admin http://localhost:8810/rest/users/1{code}
  
h1. Access all users in the system
  
 h2. Syntax
 Users in the system can be accessed using http GET method through below url:
 {code}http://localhost:8810/rest/users{code}
 The response is of mime type _application/xml_ and the content is xml representation of list of users in the system.
  
 h2. Security
 You will need to use http BASIC authentication to login as authorized QuickBuild user if the anonymous does not have adminstrative rights.
  
 h2. Demo
 Below [curl|http://curl.haxx.se/] command demonstrates how to get all users:
 {code}curl -u admin:admin http://localhost:8810/rest/users{code}
  
  
 h1. Update user
  
 h2. Syntax
User can be updated by posting xml representation of the user to below url:
 {code}http://localhost:8810/rest/user{code}
 Normally you do not need to create the xml from scratch: you may retrieve xml representation of the user using http GET method, modify certain parts of the xml and post back to above url.
  User can be updated by posting XML representation of the user to below url:
 {code}http://localhost:8810/rest/users{code}
 Normally you do not need to create the xml from scratch: you may retrieve XML representation of the user using http GET method, modify certain parts of the XML and post back to above url.
 The response is of mime type _text/plain_ and the content is string representation of the user id being updated.
{info}The _password_ element in the posted xml should be encrypted form. To encrypt password, please access below url:
 {code}http://localhost:8810/rest/encrypt?password=<plain password>{code}
 Here _<plain password>_ represents for clear text of the password, and the response is of mime type _plain/text_ and the content is encrypted form of the password.
  {info}The _password_ element in the posted xml should be in encrypted form. To encrypt password, please post password to be encrypted to below url:
 {code}http://localhost:8810/encrypt{code}
 The response is of mime type _plain/text_ and the content is encrypted form of the password.
 {info}
  
 h2. Security
You will need to use http BASIC authentication to login as administrator if the anonymous does not have administrative rights.
  You will need to use http BASIC authentication to login as administrator if the anonymous does not have administrative right.
  
 h2. Demo
We will use [curl|http://curl.haxx.se/] to demonstrate how to modify password of user _admin_ to be _12345_:
 # Retrieve xml representation of user _admin_ into a temp file using below command:
 {code}curl -u admin:admin http://localhost:8810/rest/user?name=admin > tempfile.xml{code}
  We will use [curl|http://curl.haxx.se/] to demonstrate how to modify password of user _robin_ to be _12345_:\
 # Retrieve id of user _robin_ using [id service|retrieve object identifier]:
 {code}curl http://localhost:8810/rest/ids?user_name=robin{code}
 Assume returned id is _2_.
 # Retrieve XML representation of user _robin_ into a temp file using below command:
 {code}curl -u admin:admin http://localhost:8810/rest/users/2 > tempfile.xml{code}
 # Encrypt password _12345_ using below command:
{code}curl -u admin:admin http://localhost:8810/rest/encrypt?password=12345{code}
 # Edit _tempfile.xml_ and change the _password_ property to take encrypted form of password _12345_.
  {code}curl -X POST -d 12345 http://localhost:8810/encrypt{code}
 # Edit _tempfile.xml_ and change the _password_ property to use value returned by step 3.
 # Post back modified content using below command:
{code}curl -X POST -u admin:admin -d @tempfile.xml -u admin:admin http://localhost:8810/rest/user{code}
  {code}curl -X POST -u admin:admin -d@tempfile.xml http://localhost:8810/rest/users{code}
  
 h1. Create user
  
 h2. Syntax
User can be created by posting xml representation of the user to below url:
 {code}http://localhost:8810/rest/user{code}
 Please note that the posted xml should NOT contain the _id_ element; otherwise, QuickBuild will treat the post as an updating to the user with that id.
 Normally you do not need to create the xml from scratch: you may retrieve xml representation of a templating user using http GET method, remove the _id_ element, modify certain parts and post back to above url.
 The response is of mime type _text/plain_ and the content is string representation of id of the newly created user.
 {info}The _password_ element in the posted xml should be encrypted form. To encrypt password, please access below url:
 {code}http://localhost:8810/rest/encrypt?password=<plain password>{code}
 Here _<plain password>_ represents for clear text of the password, and the response is of mime type _plain/text_ and the content is encrypted form of the password.
  User can be created by posting XML representation of the user to below url:
 {code}http://localhost:8810/rest/users{code}
 Please note that the posted XML should NOT contain the _id_ element; otherwise, QuickBuild will treat the post as an update to the user with that id.
 Normally you do not need to create the XML from scratch: you may retrieve XML representation of a templating user using http GET method, remove the _id_ element, modify certain parts and post back to above url.
 The response is of mime type _text/plain_ and the content is string representation of the newly created user id.
 {info}The _password_ element in the posted xml should be encrypted form. To encrypt password, please post password to be encrypted to below url:
 {code}http://localhost:8810/encrypt{code}
 The response is of mime type _plain/text_ and the content is encrypted form of the password.
 {info}
  
 h2. Security
 You will need to use http BASIC authentication to login as administrator if the anonymous does not have administrative rights.
  
 h2. Demo
 We will use [curl|http://curl.haxx.se/] to demonstrate how to create a new user _robin_ by copying the existing user _admin_, and change the password to _12345_.
# Retrieve xml representation of user _admin_ into a temp file using below command:
 {code}curl -u admin:admin http://localhost:8810/rest/user?name=admin > tempfile.xml{code}
  # Get id of user _admin_ with [id service|retrieve object identifier]
 {code}curl http://localhost/rest/ids?user_name=admin{code}
 Assume returned id is _1_.
 # Retrieve XML representation of user _admin_ into a temp file using below command:
 {code}curl -u admin:admin http://localhost:8810/rest/users/1 > tempfile.xml{code}
 # Encrypt password _12345_ using below command:
{code}curl -u admin:admin http://localhost:8810/rest/encrypt?password=12345{code}
 # Edit _tempfile.xml_, remove the _id_ element, change the _name_ element to be _robin_, and change _password_ element to take encrypted form of password _12345_.
  {code}curl -X POST -d 12345 http://localhost:8810/encrypt{code}
 # Edit _tempfile.xml_, remove the _id_ element, change the _name_ element to be _robin_, and change _password_ element to use value returned by step 3.
 # Post back modified content using below command:
{code}curl -X POST -u admin:admin -d @tempfile.xml -u admin:admin http://localhost:8810/rest/user{code}
  {code}curl -X POST -u admin:admin -d@tempfile.xml http://localhost:8810/rest/users{code}
  
 h1. Delete user
  
 h2. Syntax
 User can be deleted using http DELETE method through below url:
{code}http://localhost:8810/rest/user?id=<user id>{code}
  {code}http://localhost:8810/rest/users/<user id>{code}
 Here _<user id}_ stands for id of the user to be deleted.
  
 h2. Security
You will need to use http BASIC authentication to login as administrator if the anonymous does not have administrative rights.
  You will need to use http BASIC authentication to login as administrator if the anonymous does not have administrative right.
  
 h2. Demo
 Below [curl|http://curl.haxx.se/] command demonstrates how to delete the user with id _2_:
 {code}curl -X DELETE -u admin:admin http://localhost:8810/rest/user?id=2{code}
  {code}curl -X DELETE -u admin:admin http://localhost:8810/rest/users/2{code}