JwtUserDetails.java 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package space.anyi.serve.entity.auth;
  2. import org.springframework.security.core.GrantedAuthority;
  3. import org.springframework.security.core.authority.SimpleGrantedAuthority;
  4. import org.springframework.security.core.userdetails.UserDetails;
  5. import space.anyi.serve.entity.user.User;
  6. import java.util.Collection;
  7. import java.util.List;
  8. public class JwtUserDetails implements UserDetails {
  9. private final User user;
  10. public JwtUserDetails(User user) {
  11. this.user = user;
  12. }
  13. public User getUser() {
  14. return user;
  15. }
  16. @Override
  17. public Collection<? extends GrantedAuthority> getAuthorities() {
  18. return List.of(new SimpleGrantedAuthority("ROLE_" + user.getRole()));
  19. }
  20. @Override
  21. public String getPassword() {
  22. return user.getPassword();
  23. }
  24. @Override
  25. public String getUsername() {
  26. return user.getAccount();
  27. }
  28. @Override
  29. public boolean isAccountNonExpired() {
  30. return true;
  31. }
  32. @Override
  33. public boolean isAccountNonLocked() {
  34. return true;
  35. }
  36. @Override
  37. public boolean isCredentialsNonExpired() {
  38. return true;
  39. }
  40. @Override
  41. public boolean isEnabled() {
  42. return user.getEnable() == 1;
  43. }
  44. }