From: Mathieu Baudier Date: Fri, 23 Jan 2015 15:16:43 +0000 (+0000) Subject: Fix broken change password X-Git-Tag: argeo-commons-2.1.30~439 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=aeb280c4d19389ca460033f7330dbf1cc5d1b337;p=lgpl%2Fargeo-commons.git Fix broken change password git-svn-id: https://svn.argeo.org/commons/trunk@7693 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/org.argeo.security.jackrabbit/src/org/argeo/security/jackrabbit/JackrabbitUserAdminService.java b/org.argeo.security.jackrabbit/src/org/argeo/security/jackrabbit/JackrabbitUserAdminService.java index d5ef2ff17..7835f1c8f 100644 --- a/org.argeo.security.jackrabbit/src/org/argeo/security/jackrabbit/JackrabbitUserAdminService.java +++ b/org.argeo.security.jackrabbit/src/org/argeo/security/jackrabbit/JackrabbitUserAdminService.java @@ -160,13 +160,11 @@ public class JackrabbitUserAdminService implements UserAdminService, public void changePassword(String oldPassword, String newPassword) { Authentication authentication = SecurityContextHolder.getContext() .getAuthentication(); + String username = authentication.getName(); try { - SimpleCredentials sp = new SimpleCredentials( - authentication.getName(), - ((UserDetails) authentication.getDetails()).getPassword() - .toCharArray()); - User user = (User) getUserManager().getAuthorizable( - authentication.getName()); + SimpleCredentials sp = new SimpleCredentials(username, + oldPassword.toCharArray()); + User user = (User) getUserManager().getAuthorizable(username); CryptedSimpleCredentials credentials = (CryptedSimpleCredentials) user .getCredentials(); if (credentials.matches(sp)) @@ -175,7 +173,7 @@ public class JackrabbitUserAdminService implements UserAdminService, throw new BadCredentialsException("Bad credentials provided"); } catch (Exception e) { throw new ArgeoException("Cannot change password for user " - + authentication.getName(), e); + + username, e); } }