e5bfec8f24c984fc0dbda387adbffd0bf36dcfc9
[institute/sw-backend.git] /
1 package com.supwisdom.institute.backend.gateway.security.core.userdetails;
2
3 import java.util.ArrayList;
4 import java.util.Calendar;
5 import java.util.HashMap;
6 import java.util.List;
7 import java.util.Map;
8
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;
17
18 import reactor.core.publisher.Mono;
19 import lombok.extern.slf4j.Slf4j;
20
21 @Slf4j
22 public class MyUserDetailsService implements UserDetailsService, ReactiveUserDetailsService {
23   
24   @Autowired
25   PasswordEncoder passwordEncoder;
26
27 //  @Autowired
28 //  AccountService accountService;
29   
30   @Override
31   public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { // TODO: 
32
33     log.debug("MyUserDetailsService.loadUserByUsername({})", username);
34     
35 //    Account account = accountService.loadByUsername(username);
36 //    if (account == null) {
37 //      throw new UsernameNotFoundException(String.format("%s not found", username));
38 //    }
39 //    
40 //    List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
41 ////    for (Role role : securityUser.getRoles()) {
42 ////      authorities.add(new SimpleGrantedAuthority(role.getCode()));
43 ////    }
44 //    // FIXME: 
45 //    authorities.add(new SimpleGrantedAuthority("ROLE_ADMIN"));
46 //    authorities.add(new SimpleGrantedAuthority("administrator"));
47 //    authorities.add(new SimpleGrantedAuthority("user"));
48 //    
49 //    Map<String, Object> attributes = new HashMap<String, Object>();
50 //    attributes.put("userId", account.getUser().getId());
51 //    attributes.put("userUid", account.getUser().getUid());
52 //    
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,
58 //        true, 
59 //        true, 
60 //        authorities,
61 //        attributes);
62 //    
63 //    log.debug("myUser is {}", myUser);
64     
65     MyUser myUser = null;
66     
67     return myUser;
68   }
69
70   @Override
71   public Mono<UserDetails> findByUsername(String username) {
72     log.debug("MyUserDetailsService.findByUsername({})", username);
73     
74     MyUser myUser = null;
75     
76     return Mono.just(myUser);
77   }
78
79 }