JwtUser.java 2.05 KB
package pwc.taxtech.atms.security;

import java.util.Collection;

import io.jsonwebtoken.impl.DefaultClaims;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;

public class JwtUser implements UserDetails {
    private static final long serialVersionUId = 1L;

    private final String userid;

    /** 登录名, 大小写不限,可以是全大写或全小写 */
    private final String username;

    /** 数据库用户名, 比如Admin */
    private final String databaseUsername;

    private final Collection<? extends GrantedAuthority> authorities;

    private DefaultClaims defaultClaims;

    public JwtUser(String userid, String username, String databaseUsername,
                   DefaultClaims defaultClaims, Collection<? extends GrantedAuthority> authorities) {
        this.userid = userid;
        this.username = username;
        this.databaseUsername = databaseUsername;
        this.authorities = authorities;
        this.defaultClaims = defaultClaims;
    }

    @Override
    public String getUsername() {
        return username;
    }

    @Override
    public boolean isAccountNonExpired() {
        return true;
    }

    @Override
    public boolean isAccountNonLocked() {
        return true;
    }

    @Override
    public boolean isCredentialsNonExpired() {
        return true;
    }

    @Override
    public Collection<? extends GrantedAuthority> getAuthorities() {
        return authorities;
    }

    @Override
    public String getPassword() {
        return null;
    }

    @Override
    public boolean isEnabled() {
        return true;
    }

    public static long getSerialVersionUId() {
        return serialVersionUId;
    }


    public String getUserid() {
        return userid;
    }

    public String getDatabaseUsername() {
        return databaseUsername;
    }

    public DefaultClaims getDefaultClaims() {
        return defaultClaims;
    }

    public void setDefaultClaims(DefaultClaims defaultClaims) {
        this.defaultClaims = defaultClaims;
    }
}