Class ChangeUserPasswordServlet
- 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.ChangeUserPasswordServlet
-
- All Implemented Interfaces:
Serializable
,javax.servlet.Servlet
,javax.servlet.ServletConfig
,ChangeUserPassword
public class ChangeUserPasswordServlet extends AbstractAuthorizablePostServlet implements ChangeUserPassword
Changes the password associated with a user. Maps on to nodes of resourceType
sling/user
like/rep:system/rep:userManager/rep:users/ae/fd/3e/ieb
mapped to a resource url/system/userManager/user/ieb
. This servlet responds at/system/userManager/user/ieb.changePassword.html
Methods
- POST
Post Parameters
- oldPwd
- The current password for the user (required for non-administrators)
- newPwd
- The new password for the user (required)
- newPwdConfirm
- The confirm new password for the user (required)
Response
- 200
- Success sent with no body
- 404
- If the user was not found.
- 500
- Failure, including password validation errors. HTML explains the failure.
Example
curl -FoldPwd=oldpassword -FnewPwd=newpassword -FnewPwdConfirm=newpassword http://localhost:8080/system/userManager/user/ieb.changePassword.html
Notes
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ChangeUserPasswordServlet.Config
-
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 Constructor Description ChangeUserPasswordServlet()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
activate(Map<String,Object> props)
Activates this component.protected void
bindPostResponseCreator(org.apache.sling.servlets.post.PostResponseCreator creator, Map<String,Object> properties)
Overridden since the @Reference annotation is not inherited from the super methodprotected void
bindSystemUserManagerPaths(SystemUserManagerPaths sump)
org.apache.jackrabbit.api.security.user.User
changePassword(javax.jcr.Session jcrSession, String name, String oldPassword, String newPassword, String newPasswordConfirm, List<org.apache.sling.servlets.post.Modification> changes)
Update the password of a user in the repositoryprotected void
deactivate()
protected void
handleOperation(org.apache.sling.api.SlingHttpServletRequest request, org.apache.sling.servlets.post.PostResponse response, List<org.apache.sling.servlets.post.Modification> changes)
Extending Servlet should implement this operation to do the workprotected void
unbindPostResponseCreator(org.apache.sling.servlets.post.PostResponseCreator creator, Map<String,Object> properties)
Unbind a post response creator-
Methods inherited from class org.apache.sling.jackrabbit.usermanager.impl.post.AbstractAuthorizablePostServlet
bindPrincipalNameFilter, bindPrincipalNameGenerator, collectContent, collectContentMap, convertToRequestParameterArray, convertToString, convertToStringArray, getOrGeneratePrincipalName, hasItemPathPrefix, processCreate, processDeletes, requireItemPathPrefix, unbindPrincipalNameFilter, unbindPrincipalNameGenerator, writeContent
-
Methods inherited from class org.apache.sling.jackrabbit.usermanager.impl.post.AbstractPostServlet
createHtmlResponse, doPost, externalizePath, getItemPath, getRanking, getRedirectUrl, getRedirectUrl, handleOperation, isSetStatus
-
Methods inherited from class org.apache.sling.api.servlets.SlingAllMethodsServlet
doDelete, doPut, getAllowedRequestMethods, isMethodValid, mayService
-
Methods inherited from class org.apache.sling.api.servlets.SlingSafeMethodsServlet
doGeneric, doGet, doHead, doOptions, doTrace, getServletInfo, handleMethodNotImplemented, service, service
-
-
-
-
Method Detail
-
activate
protected void activate(Map<String,Object> props)
Activates this component.- Overrides:
activate
in classAbstractAuthorizablePostServlet
- Parameters:
props
- The component properties
-
deactivate
protected void deactivate()
- Overrides:
deactivate
in classAbstractAuthorizablePostServlet
-
bindSystemUserManagerPaths
protected void bindSystemUserManagerPaths(SystemUserManagerPaths sump)
- Overrides:
bindSystemUserManagerPaths
in classAbstractAuthorizablePostServlet
-
bindPostResponseCreator
protected void bindPostResponseCreator(org.apache.sling.servlets.post.PostResponseCreator creator, Map<String,Object> properties)
Overridden since the @Reference annotation is not inherited from the super method
-
unbindPostResponseCreator
protected void unbindPostResponseCreator(org.apache.sling.servlets.post.PostResponseCreator creator, Map<String,Object> properties)
Description copied from class:AbstractPostServlet
Unbind a post response creator- Overrides:
unbindPostResponseCreator
in classAbstractPostServlet
-
handleOperation
protected void handleOperation(org.apache.sling.api.SlingHttpServletRequest request, org.apache.sling.servlets.post.PostResponse response, List<org.apache.sling.servlets.post.Modification> changes) throws javax.jcr.RepositoryException
Description copied from class:AbstractPostServlet
Extending Servlet should implement this operation to do the work- Specified by:
handleOperation
in 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
-
changePassword
public org.apache.jackrabbit.api.security.user.User changePassword(javax.jcr.Session jcrSession, String name, String oldPassword, String newPassword, String newPasswordConfirm, List<org.apache.sling.servlets.post.Modification> changes) throws javax.jcr.RepositoryException
Description copied from interface:ChangeUserPassword
Update the password of a user in the repository- Specified by:
changePassword
in interfaceChangeUserPassword
- Parameters:
jcrSession
- the JCR session of the user updating the username
- The name of the user to update (required)oldPassword
- The current password of the user (required for non-admin users)newPassword
- The password value to apply (required)newPasswordConfirm
- The password value to apply again (required)changes
- The list of changes for this operation (optional)- Returns:
- the user whose password was changed
- Throws:
javax.jcr.RepositoryException
- if password can't be changed for some reason
-
-