User.java 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package cn.seecoder.paas.web.security;
  2. import lombok.Data;
  3. import lombok.NoArgsConstructor;
  4. import org.apache.commons.codec.digest.DigestUtils;
  5. import org.springframework.security.core.GrantedAuthority;
  6. import org.springframework.security.core.authority.SimpleGrantedAuthority;
  7. import org.springframework.security.core.userdetails.UserDetails;
  8. import java.util.Collection;
  9. import java.util.List;
  10. @Data
  11. @NoArgsConstructor
  12. public class User implements UserDetails {
  13. private String username;
  14. private String password;
  15. private List<GrantedAuthority> authorities;
  16. public static final GrantedAuthority ADMIN_AUTHORITY = new SimpleGrantedAuthority("PAAS_ADMIN");
  17. public User(String username, String password, List<GrantedAuthority> authorities) {
  18. this.username = username;
  19. this.password = DigestUtils.sha256Hex(password);
  20. this.authorities = authorities;
  21. }
  22. @Override
  23. public Collection<? extends GrantedAuthority> getAuthorities() {
  24. return authorities;
  25. }
  26. @Override
  27. public String getPassword() {
  28. return password;
  29. }
  30. @Override
  31. public String getUsername() {
  32. return username;
  33. }
  34. @Override
  35. public boolean isAccountNonExpired() {
  36. return true;
  37. }
  38. @Override
  39. public boolean isAccountNonLocked() {
  40. return true;
  41. }
  42. @Override
  43. public boolean isCredentialsNonExpired() {
  44. return true;
  45. }
  46. @Override
  47. public boolean isEnabled() {
  48. return true;
  49. }
  50. }