@Override @Transactional(TransactionUtils.DEFAULT_TRANSACTION_MANAGER) public Customer changePassword(PasswordChange passwordChange) { Customer customer = readCustomerByUsername(passwordChange.getUsername()); customer.setUnencodedPassword(passwordChange.getNewPassword()); customer.setPasswordChangeRequired(passwordChange.getPasswordChangeRequired()); customer = saveCustomer(customer); for (PasswordUpdatedHandler handler : passwordChangedHandlers) { handler.passwordChanged(passwordChange, customer, passwordChange.getNewPassword()); } return customer; }
@Override @Transactional(TransactionUtils.DEFAULT_TRANSACTION_MANAGER) public Customer resetPassword(PasswordReset passwordReset) { Customer customer = readCustomerByUsername(passwordReset.getUsername()); String newPassword = PasswordUtils.generateSecurePassword(passwordReset.getPasswordLength()); customer.setUnencodedPassword(newPassword); customer.setPasswordChangeRequired(passwordReset.getPasswordChangeRequired()); customer = saveCustomer(customer); for (PasswordUpdatedHandler handler : passwordResetHandlers) { handler.passwordChanged(passwordReset, customer, newPassword); } return customer; }
@Override @Transactional(TransactionUtils.DEFAULT_TRANSACTION_MANAGER) public GenericResponse resetPasswordUsingToken(String username, String token, String password, String confirmPassword) { GenericResponse response = new GenericResponse(); Customer customer = null; if (username != null) { customer = customerDao.readCustomerByUsername(username); } checkCustomer(customer, response); checkPassword(password, confirmPassword, response); CustomerForgotPasswordSecurityToken fpst = checkPasswordResetToken(token, customer, response); if (!response.getHasErrors()) { if (!customer.getId().equals(fpst.getCustomerId())) { if (LOG.isWarnEnabled()) { LOG.warn("Password reset attempt tried with mismatched customer and token " + customer.getId() + ", " + StringUtil.sanitize(token)); } response.addErrorCode("invalidToken"); } } if (!response.getHasErrors()) { customer.setUnencodedPassword(password); customer.setPasswordChangeRequired(false); saveCustomer(customer); invalidateAllTokensForCustomer(customer); } return response; }
cloned.setRegistered(registered); cloned.setReceiveEmail(receiveEmail); cloned.setPasswordChangeRequired(passwordChangeRequired); cloned.setPassword(password); cloned.setLastName(lastName);