From aeb280c4d19389ca460033f7330dbf1cc5d1b337 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Fri, 23 Jan 2015 15:16:43 +0000 Subject: [PATCH] Fix broken change password git-svn-id: https://svn.argeo.org/commons/trunk@7693 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../jackrabbit/JackrabbitUserAdminService.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) 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); } } -- 2.30.2