通常情况下,用户类SpringSecurity已经规定好了格式,需要将原本的用户数据类转化成UserDetails形式的用户数据类,才能在SpringSecurity中使用。
    其中UserDetails接口如下:

    1. public interface UserDetails extends Serializable {
    2. Collection<? extends GrantedAuthority> getAuthorities();
    3. String getPassword();
    4. String getUsername();
    5. boolean isAccountNonExpired();
    6. boolean isAccountNonLocked();
    7. boolean isCredentialsNonExpired();
    8. boolean isEnabled();
    9. }

    使用方式如下:

    1. public class UserDetail implements UserDetails {
    2. private User user;
    3. public UserDetail(User user) {
    4. this.user = user;
    5. }
    6. @Override
    7. public Collection<? extends GrantedAuthority> getAuthorities() {
    8. return null;
    9. }
    10. @Override
    11. public String getPassword() {
    12. return user.getPassword();
    13. }
    14. @Override
    15. public String getUsername() {
    16. return user.getUsername();
    17. }
    18. @Override
    19. public boolean isAccountNonExpired() {
    20. return true;
    21. }
    22. @Override
    23. public boolean isAccountNonLocked() {
    24. return true;
    25. }
    26. @Override
    27. public boolean isCredentialsNonExpired() {
    28. return true;
    29. }
    30. @Override
    31. public boolean isEnabled() {
    32. return user.isEnable();
    33. }
    34. }