简单继承UserDetails

public class UserDetailsImpl implements UserDetails {
   
    /**
     *
     */
    private static final long serialVersionUID = 1L;

    private String sName;
   
    private String sPassword;
   
    private String sEmail;
   
    private GrantedAuthority[] auth;
   
    public UserDetailsImpl(String sName,String sPassword,String sEmail, GrantedAuthority[] auth){
        this.sName = sName;
        this.sPassword = sPassword;
        this.sEmail = sEmail;
        this.auth = auth;
    }
   
    public GrantedAuthority[] getAuthorities() {
        // TODO Auto-generated method stub
        return auth;
    }

    public String getPassword() {
        // TODO Auto-generated method stub
        return sPassword;
    }

    public String getUsername() {
        // TODO Auto-generated method stub
        return sName;
    }
   
    public String getEmail(){
        return sEmail;
    }

    public boolean isAccountNonExpired() {
        // TODO Auto-generated method stub
        return true;
    }

    public boolean isAccountNonLocked() {
        // TODO Auto-generated method stub
        return true;
    }

    public boolean isCredentialsNonExpired() {
        // TODO Auto-generated method stub
        return true;
    }

    public boolean isEnabled() {
        // TODO Auto-generated method stub
        return true;
    }

}

//很简单只增加了得到 邮件的一个方法
UserDetailsService 中的loadUserByusername方法返回此对象
在authentication中getPrincipal就可以Cast到这个类的实例从而得到email
只在配置方法里换掉原先的userDetailsService就ok了

你可能感兴趣的:(简单继承UserDetails)