@Override protected User deserializeRecord( String line, int lineNumber ) throws FormatException { String[] parts = line.split( userSeparator, -1 ); if ( parts.length != 3 ) { throw new FormatException( format( "wrong number of line fields, expected 3, got %d [line %d]", parts.length, lineNumber ) ); } User.Builder b = new User.Builder() .withName( parts[0] ) .withCredentials( deserializeCredentials( parts[1], lineNumber ) ); for ( String flag : parts[2].split( ",", -1 ) ) { String trimmed = flag.trim(); if ( !trimmed.isEmpty() ) { b = b.withFlag( trimmed ); } } return b.build(); }
@Override public User newUser( String username, byte[] initialPassword, boolean requirePasswordChange ) throws IOException, InvalidArgumentsException { try { userRepository.assertValidUsername( username ); passwordPolicy.validatePassword( initialPassword ); User user = new User.Builder() .withName( username ) .withCredentials( LegacyCredential.forPassword( initialPassword ) ) .withRequiredPasswordChange( requirePasswordChange ) .build(); userRepository.create( user ); return user; } finally { // Clear password if ( initialPassword != null ) { Arrays.fill( initialPassword, (byte) 0 ); } } }
@Override protected User deserializeRecord( String line, int lineNumber ) throws FormatException { String[] parts = line.split( userSeparator, -1 ); if ( parts.length != 3 ) { throw new FormatException( format( "wrong number of line fields, expected 3, got %d [line %d]", parts.length, lineNumber ) ); } User.Builder b = new User.Builder() .withName( parts[0] ) .withCredentials( deserializeCredentials( parts[1], lineNumber ) ); for ( String flag : parts[2].split( ",", -1 ) ) { String trimmed = flag.trim(); if ( !trimmed.isEmpty() ) { b = b.withFlag( trimmed ); } } return b.build(); }
@Override public User newUser( String username, byte[] initialPassword, boolean requirePasswordChange ) throws IOException, InvalidArgumentsException { try { userRepository.assertValidUsername( username ); passwordPolicy.validatePassword( initialPassword ); User user = new User.Builder() .withName( username ) .withCredentials( LegacyCredential.forPassword( initialPassword ) ) .withRequiredPasswordChange( requirePasswordChange ) .build(); userRepository.create( user ); return user; } finally { // Clear password if ( initialPassword != null ) { Arrays.fill( initialPassword, (byte) 0 ); } } }
@Override public User newUser( String username, String initialPassword, boolean requirePasswordChange ) throws IOException, InvalidArgumentsException { userRepository.assertValidUsername( username ); passwordPolicy.validatePassword( initialPassword ); User user = new User.Builder() .withName( username ) .withCredentials( Credential.forPassword( initialPassword ) ) .withRequiredPasswordChange( requirePasswordChange ) .build(); synchronized ( this ) { userRepository.create( user ); } return user; }