Example usage for org.springframework.security.crypto.password PasswordEncoder encode

List of usage examples for org.springframework.security.crypto.password PasswordEncoder encode

Introduction

In this page you can find the example usage for org.springframework.security.crypto.password PasswordEncoder encode.

Prototype

String encode(CharSequence rawPassword);

Source Link

Document

Encode the raw password.

Usage

From source file:org.alfresco.repo.security.authentication.CompositePasswordEncoder.java

/**
 *  Encode a password using the specified encoderKey
 * @param encoderKey the encoder to use/*  ww w  . j a v a  2s . com*/
 * @param rawPassword  mandatory password
 * @param salt optional salt
 * @return the encoded password
 */
protected String encode(String encoderKey, String rawPassword, Object salt) {
    ParameterCheck.mandatoryString("rawPassword", rawPassword);
    ParameterCheck.mandatoryString("encoderKey", encoderKey);
    Object encoder = encoders.get(encoderKey);
    if (encoder == null)
        throw new AlfrescoRuntimeException("Invalid encoder specified: " + encoderKey);
    if (encoder instanceof net.sf.acegisecurity.providers.encoding.PasswordEncoder) {
        net.sf.acegisecurity.providers.encoding.PasswordEncoder pEncoder = (net.sf.acegisecurity.providers.encoding.PasswordEncoder) encoder;
        if (MD4_KEY.equals(encoderKey)) {
            //In the past MD4 password encoding didn't use a SALT
            salt = null;
        }
        if (logger.isDebugEnabled()) {
            logger.debug("Encoding using acegis PasswordEncoder: " + encoderKey);
        }
        return pEncoder.encodePassword(rawPassword, salt);
    }
    if (encoder instanceof org.springframework.security.crypto.password.PasswordEncoder) {
        org.springframework.security.crypto.password.PasswordEncoder passEncoder = (org.springframework.security.crypto.password.PasswordEncoder) encoder;
        if (logger.isDebugEnabled()) {
            logger.debug("Encoding using spring PasswordEncoder: " + encoderKey);
        }
        return passEncoder.encode(rawPassword);
    }

    throw new AlfrescoRuntimeException("Unsupported encoder specified: " + encoderKey);
}

From source file:org.kaaproject.kaa.server.admin.services.dao.UserFacade.java

/**
 * Save user.//from  w ww  .  j  a  va  2 s .  c  o  m
 *
 * @param userDto the user's data
 * @param passwordEncoder the user's password
 * @return user creation result
 */
public CreateUserResult saveUserDto(UserDto userDto, PasswordEncoder passwordEncoder) throws Exception {

    User user = null;
    String generatedPassword = null;
    if (userDto.getExternalUid() == null || userDto.getExternalUid().isEmpty()) {
        user = new User();
        generatedPassword = RandomStringUtils.randomAlphanumeric(User.TEMPORARY_PASSWORD_LENGTH);
        user.setPassword(passwordEncoder.encode(generatedPassword));
        user.setTempPassword(true);
        user.setEnabled(true);
    } else {
        user = findById(Long.valueOf(userDto.getExternalUid()));
    }
    Utils.checkNotNull(user);

    user.setUsername(userDto.getUsername());
    user.setFirstName(userDto.getFirstName());
    user.setLastName(userDto.getLastName());
    user.setMail(userDto.getMail());

    if (authorityChanged(user.getAuthorities(), userDto.getAuthority())) {
        if (user.getAuthorities() != null && user.getAuthorities().size() == 1) {
            user.getAuthorities().iterator().next().setAuthority(userDto.getAuthority().name());
        } else {
            Authority authority = new Authority();
            authority.setAuthority(userDto.getAuthority().name());
            authority.setUser(user);
            Collection<Authority> authorities = new ArrayList<Authority>();
            authorities.add(authority);
            user.setAuthorities(authorities);
        }
    }

    Long id = save(user);
    CreateUserResult result = new CreateUserResult(id, generatedPassword);
    return result;
}