package com.codesdream.ase.component.auth; import org.springframework.security.authentication.AbstractAuthenticationToken; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; import java.util.Collection; // 关联Token与其他用户的相关数据的授权柄 public class JSONTokenAuthenticationToken extends AbstractAuthenticationToken { // 客户端签名 private String signed = null; // 用户名 private Object principal = null; // 客户端代码 private String clientCode = null; /** * Creates a token with the supplied array of authorities. * * @param authorities the collection of GrantedAuthoritys for the principal * represented by this authentication object. */ public JSONTokenAuthenticationToken(UserDetails principal, String clientCode, Collection authorities) { super(authorities); this.principal = principal; this.clientCode = clientCode; this.signed = null; setAuthenticated(true); } public JSONTokenAuthenticationToken(String principal, String clientCode, String signed) { super(null); this.principal = principal; this.clientCode = clientCode; this.signed = signed; setAuthenticated(false); } @Override public String getCredentials() { return signed; } @Override public Object getPrincipal() { return principal; } public String getClientCode() { return clientCode; } public void setClientCode(String clientCode) { this.clientCode = clientCode; } }