Class CreateUserServlet
java.lang.Object
javax.servlet.GenericServlet
org.apache.sling.api.servlets.SlingSafeMethodsServlet
org.apache.sling.api.servlets.SlingAllMethodsServlet
org.apache.sling.jackrabbit.usermanager.impl.post.AbstractPostServlet
org.apache.sling.jackrabbit.usermanager.impl.post.AbstractAuthorizablePostServlet
org.apache.sling.jackrabbit.usermanager.impl.post.CreateUserServlet
- All Implemented Interfaces:
 Serializable,javax.servlet.Servlet,javax.servlet.ServletConfig,CreateUser
Sling Post Servlet implementation for creating a user in the jackrabbit UserManager.
Rest Service Description
 Creates a new user. Maps on to nodes of resourceType sling/users like
 /rep:system/rep:userManager/rep:users mapped to a resource url
 /system/userManager/user. This servlet responds at /system/userManager/user.create.html
 
Methods
- POST
 
Post Parameters
- one of these
 - 
   
- :name - The value is the exact name to use
 - :name@ValueFrom - The value is the name of another submitted parameter whose value is the exact name to use
 - :nameHint - The value is filtered, trimmed and made unique
 - :nameHint@ValueFrom - The value is the name of another submitted parameter whose value is filtered, trimmed and made unique
 - otherwise - Try the value of any server-side configured "principalNameHints" parameter to treat as a hint that is filtered, trimmed and made unique
 
 - :pwd
 - The password of the new user (required)
 - :pwdConfirm
 - The password of the new user (required)
 - *
 - Any additional parameters become properties of the user node (optional)
 
Response
- 200
 - Success, a redirect is sent to the users resource locator. The redirect comes with HTML describing the status.
 - 500
 - Failure, including user already exists. HTML explains the failure.
 
Example
 curl -F:name=ieb -Fpwd=password -FpwdConfirm=password -Fproperty1=value1 http://localhost:8080/system/userManager/user.create.html
 - See Also:
 
- 
Nested Class Summary
Nested Classes - 
Field Summary
Fields inherited from class org.apache.sling.jackrabbit.usermanager.impl.post.AbstractAuthorizablePostServlet
principalNameFilter, principalNameGenerators, PROP_DATE_FORMAT, RP_NODE_NAME_HINT_VALUE_FROM, RP_NODE_NAME_VALUE_FROM, systemUserManagerPaths - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionprotected voidactivate(CreateUserServlet.Config config, Map<String, Object> props) protected voidbindPostResponseCreator(PostResponseCreator creator, Map<String, Object> properties) Overridden since the @Reference annotation is not inherited from the super methodprotected voidBind a new principal name filterprotected voidbindPrincipalNameGenerator(PrincipalNameGenerator generator, Map<String, Object> properties) Bind a new principal name generatorprotected voidorg.apache.jackrabbit.api.security.user.UsercreateUser(javax.jcr.Session jcrSession, String name, String password, String passwordConfirm, Map<String, ?> properties, List<Modification> changes) Create a new user for the repositoryprotected voidprotected voidhandleOperation(SlingHttpServletRequest request, PostResponse response, List<Modification> changes) Extending Servlet should implement this operation to do the workprotected voidunbindPostResponseCreator(PostResponseCreator creator, Map<String, Object> properties) Unbind a post response creatorprotected voidprotected voidMethods inherited from class org.apache.sling.jackrabbit.usermanager.impl.post.AbstractAuthorizablePostServlet
activate, collectContent, collectContentMap, concatPath, convertToRequestParameterArray, convertToString, convertToStringArray, getOrGeneratePrincipalName, hasItemPathPrefix, processCreate, processDeletes, requireItemPathPrefix, writeContentMethods inherited from class org.apache.sling.jackrabbit.usermanager.impl.post.AbstractPostServlet
createHtmlResponse, doPost, externalizePath, getItemPath, getRanking, getRedirectUrl, getRedirectUrl, handleOperation, isSetStatusMethods inherited from class org.apache.sling.api.servlets.SlingAllMethodsServlet
doDelete, doPut, getAllowedRequestMethods, isMethodValid, mayServiceMethods inherited from class org.apache.sling.api.servlets.SlingSafeMethodsServlet
doGeneric, doGet, doHead, doOptions, doTrace, getServletInfo, handleMethodNotImplemented, service, serviceMethods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletName, init, init, log, logMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.sling.jackrabbit.usermanager.CreateUser
createUser 
- 
Constructor Details
- 
CreateUserServlet
public CreateUserServlet() 
 - 
 - 
Method Details
- 
activate
 - 
deactivate
protected void deactivate()- Overrides:
 deactivatein classAbstractAuthorizablePostServlet
 - 
bindPrincipalNameGenerator
protected void bindPrincipalNameGenerator(PrincipalNameGenerator generator, Map<String, Object> properties) Description copied from class:AbstractAuthorizablePostServletBind a new principal name generator- Overrides:
 bindPrincipalNameGeneratorin classAbstractAuthorizablePostServlet
 - 
unbindPrincipalNameGenerator
- Overrides:
 unbindPrincipalNameGeneratorin classAbstractAuthorizablePostServlet
 - 
bindPrincipalNameFilter
Description copied from class:AbstractAuthorizablePostServletBind a new principal name filter- Overrides:
 bindPrincipalNameFilterin classAbstractAuthorizablePostServlet
 - 
unbindPrincipalNameFilter
- Overrides:
 unbindPrincipalNameFilterin classAbstractAuthorizablePostServlet
 - 
bindSystemUserManagerPaths
- Overrides:
 bindSystemUserManagerPathsin classAbstractAuthorizablePostServlet
 - 
bindPostResponseCreator
Overridden since the @Reference annotation is not inherited from the super method - 
unbindPostResponseCreator
protected void unbindPostResponseCreator(PostResponseCreator creator, Map<String, Object> properties) Description copied from class:AbstractPostServletUnbind a post response creator- Overrides:
 unbindPostResponseCreatorin classAbstractPostServlet
 - 
handleOperation
protected void handleOperation(SlingHttpServletRequest request, PostResponse response, List<Modification> changes) throws javax.jcr.RepositoryException Description copied from class:AbstractPostServletExtending Servlet should implement this operation to do the work- Specified by:
 handleOperationin classAbstractPostServlet- Parameters:
 request- the sling http request to processresponse- the responsechanges- the changes to report- Throws:
 javax.jcr.RepositoryException- in case of exceptions during the operation
 - 
createUser
public org.apache.jackrabbit.api.security.user.User createUser(javax.jcr.Session jcrSession, String name, String password, String passwordConfirm, Map<String, ?> properties, List<Modification> changes) throws javax.jcr.RepositoryExceptionDescription copied from interface:CreateUserCreate a new user for the repository- Specified by:
 createUserin interfaceCreateUser- Parameters:
 jcrSession- the JCR session of the user creating the username- The name of the new user. If null or empty, the name is calculated from the supplied properties (per SLING-10902).password- The password of the new user (required)passwordConfirm- The password of the new user again (required)properties- Extra properties to update on the user. The entry values should be either a String or String[] (optional)changes- The list of changes for this operation (optional)- Returns:
 - the user that was created
 - Throws:
 javax.jcr.RepositoryException- if user can't be created
 
 -