Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Access right for ServiceUer to Change users password

Eric_Stricker
Level 4
Level 4

I created a forget Password service for the user to reset his/her own password by sending a link to his email and providing a reset password page.

 

Inside this service I use:

session = resolver.adaptTo(Session.class);

UserManager userMgr = resolver.adaptTo(UserManager.class);
Authorizable a = userMgr.getAuthorizable(userid, User.class);
User user = (User)userMgr.getAuthorizable(userid, User.class);

user.changePassword(newPassword);

session.save()

 

The resolver here is a resourceResolver for a serviceUser Account  "userManager" and I have granted access to '/home' read/modify/create,Read ACL,Edit ACL but I still receive "javax.jcr.AccessDeniedException: OakAccess0000: Access denied " when I run "session.save()"

 

Anything I am missing here?

 

Eric_Stricker_0-1592559543635.png

 

2 Replies
Mayank_Gandhi
Community Advisor
Community Advisor

@Eric_Stricker  Were you able to get this working Or you still need help?

Eric_Stricker
Level 4
Level 4

We did get around this.

 

We are now using the build in user 'communities-user-admin' instead of our own service account. We do like to understand why our own account did not work. Most likely because we did not add our own service account to the 'user-administrators' group role which has probably a setting to allow changes to users&groups.

 

Note: we still cannot add node/change node for the the build in 'admin' account. Most likely this is a protected account and only 'admin' user can change 'admin' accounts.