UserDetailsImpl.java 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package com.lstznkj.groundstation.security;
  2. import com.lstznkj.groundstation.model.Authority;
  3. import com.lstznkj.groundstation.model.SysRole;
  4. import com.lstznkj.groundstation.model.User;
  5. import com.fasterxml.jackson.annotation.JsonIgnore;
  6. import org.slf4j.Logger;
  7. import org.slf4j.LoggerFactory;
  8. import org.springframework.security.core.GrantedAuthority;
  9. import org.springframework.security.core.userdetails.UserDetails;
  10. import java.util.ArrayList;
  11. import java.util.Collection;
  12. import java.util.List;
  13. public class UserDetailsImpl implements UserDetails {
  14. private Logger logger= LoggerFactory.getLogger( UserDetailsImpl.class);
  15. private User user;
  16. private List<String> roles;
  17. public UserDetailsImpl(){
  18. }
  19. public UserDetailsImpl(User user)
  20. {
  21. this.user=user;
  22. }
  23. @JsonIgnore
  24. @Override
  25. public Collection<? extends GrantedAuthority> getAuthorities() {
  26. List<Authority> authorityList=new ArrayList<>();
  27. // logger.info("get authorities: roles size is "+user.getSysRoles().size());
  28. for(SysRole role : user.getSysRoles())
  29. {
  30. logger.info(role.getName()+ "'s authorities size is "+role.getAuthorities().size());
  31. for(Authority authority:role.getAuthorities())
  32. {
  33. authorityList.add(authority);
  34. }
  35. // authorityList.add(new SimpleGrantedAuthority((role.getName())));
  36. }
  37. return authorityList;
  38. }
  39. public List<String> getRoles() {
  40. return user.getRoles();
  41. }
  42. @Override
  43. @JsonIgnore
  44. public String getPassword() {
  45. return user.getPassword();
  46. }
  47. @Override
  48. public String getUsername() {
  49. return user.getUsername();
  50. }
  51. @Override
  52. public boolean isAccountNonExpired() {
  53. return true;
  54. }
  55. @Override
  56. public boolean isAccountNonLocked() {
  57. return !user.isLocked();
  58. }
  59. @Override
  60. public boolean isCredentialsNonExpired() {
  61. return true;
  62. }
  63. @Override
  64. public boolean isEnabled() {
  65. return true;
  66. }
  67. }