1 package com.supwisdom.institute.backend.gateway.security.core.userdetails;
3 import java.util.ArrayList;
4 import java.util.Calendar;
5 import java.util.HashMap;
9 import org.springframework.beans.factory.annotation.Autowired;
10 import org.springframework.security.core.GrantedAuthority;
11 import org.springframework.security.core.authority.SimpleGrantedAuthority;
12 import org.springframework.security.core.userdetails.ReactiveUserDetailsService;
13 import org.springframework.security.core.userdetails.UserDetails;
14 import org.springframework.security.core.userdetails.UserDetailsService;
15 import org.springframework.security.core.userdetails.UsernameNotFoundException;
16 import org.springframework.security.crypto.password.PasswordEncoder;
18 import reactor.core.publisher.Mono;
19 import lombok.extern.slf4j.Slf4j;
22 public class MyUserDetailsService implements UserDetailsService, ReactiveUserDetailsService {
25 PasswordEncoder passwordEncoder;
28 // AccountService accountService;
31 public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { // TODO:
33 log.debug("MyUserDetailsService.loadUserByUsername({})", username);
35 // Account account = accountService.loadByUsername(username);
36 // if (account == null) {
37 // throw new UsernameNotFoundException(String.format("%s not found", username));
40 // List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
41 //// for (Role role : securityUser.getRoles()) {
42 //// authorities.add(new SimpleGrantedAuthority(role.getCode()));
45 // authorities.add(new SimpleGrantedAuthority("ROLE_ADMIN"));
46 // authorities.add(new SimpleGrantedAuthority("administrator"));
47 // authorities.add(new SimpleGrantedAuthority("user"));
49 // Map<String, Object> attributes = new HashMap<String, Object>();
50 // attributes.put("userId", account.getUser().getId());
51 // attributes.put("userUid", account.getUser().getUid());
53 // MyUser myUser = new MyUser(
54 // account.getAccountName(),
55 // account.getUser().getPassWord(),
56 // account.getActivation() && "Normal".equals(account.getState()) ? true : false,
57 // account.getAccountExpiryDate() == null || Calendar.getInstance().getTime().before(account.getAccountExpiryDate()) ? true : false,
63 // log.debug("myUser is {}", myUser);
71 public Mono<UserDetails> findByUsername(String username) {
72 log.debug("MyUserDetailsService.findByUsername({})", username);
76 return Mono.just(myUser);