/** * Creates a new instance * @param users the {@link UserDetails} to use */ public MapReactiveUserDetailsService(Collection<UserDetails> users) { Assert.notEmpty(users, "users cannot be null or empty"); this.users = users.stream().collect(Collectors.toConcurrentMap( u -> getKey(u.getUsername()), Function.identity())); }
@Override public Mono<UserDetails> findByUsername(String username) { String key = getKey(username); UserDetails result = users.get(key); return result == null ? Mono.empty() : Mono.just(User.withUserDetails(result).build()); }
@Override public Mono<UserDetails> findByUsername(String username) { String key = getKey(username); UserDetails result = users.get(key); return result == null ? Mono.empty() : Mono.just(User.withUserDetails(result).build()); }
/** * Creates a new instance * @param users the {@link UserDetails} to use */ public MapReactiveUserDetailsService(Collection<UserDetails> users) { Assert.notEmpty(users, "users cannot be null or empty"); this.users = users.stream().collect(Collectors.toConcurrentMap( u -> getKey(u.getUsername()), Function.identity())); }
@Override public Mono<UserDetails> updatePassword(UserDetails user, String newPassword) { return Mono.just(user) .map(u -> User.withUserDetails(u) .password(newPassword) .build() ) .doOnNext(u -> { String key = getKey(user.getUsername()); this.users.put(key, u); }); }
@Override public Mono<UserDetails> updatePassword(UserDetails user, String newPassword) { return Mono.just(user) .map(u -> User.withUserDetails(u) .password(newPassword) .build() ) .doOnNext(u -> { String key = getKey(user.getUsername()); this.users.put(key, u); }); }
/** * Creates a new instance * @param users the {@link UserDetails} to use */ public MapReactiveUserDetailsService(Collection<UserDetails> users) { Assert.notEmpty(users, "users cannot be null or empty"); this.users = users.stream().collect(Collectors.toConcurrentMap( u -> getKey(u.getUsername()), Function.identity())); }
@Override public Mono<UserDetails> findByUsername(String username) { String key = getKey(username); UserDetails result = users.get(key); return result == null ? Mono.empty() : Mono.just(User.withUserDetails(result).build()); }
@Override public Mono<UserDetails> updatePassword(UserDetails user, String newPassword) { return Mono.just(user) .map(u -> User.withUserDetails(u) .password(newPassword) .build() ) .doOnNext(u -> { String key = getKey(user.getUsername()); this.users.put(key, u); }); }