How to change AEM User password in java
Hello All,
I need help to how to change the password of existing user AEM. I am implementing it in my java bundle package. So far I have done two ways
***********************************************************************************************
1.
ResourceResolver resourceResolver = resolverFactory.getAdministrativeResourceResolver(null);
UserManager userManager = resourceResolver.adaptTo(UserManager.class);
Session sessionrr = resourceResolver.adaptTo(Session.class);
User user = (User) userManager.getAuthorizable(UserName);
user.changePassword(NewPassword);
if (!userManager.isAutoSave()) {
sessionrr.save();
}
**********************************************************************************************
2.
JackrabbitSession session1 = (JackrabbitSession) resourceResolver.adaptTo(javax.jcr.Session.class);
UserManager userManager = session1.getUserManager();
User user = (User) userManager.getAuthorizable(UserName);
user.changePassword(NewPassword.toString());
session1.save();
***************************************************************************************************
Issue:
Now with above 2 ways I am able to successfully changing the normal password But I am getting the issue in case if password containing special characters
like a password!@#.
ERROR which I am getting as
org.apache.sling.auth.core.impl.SlingAuthenticator handleLoginFailure: Unable to authenticate null: UserId/Password mismatch.
403
Can someone help me with this?
Thanks
Qamar

