123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- /**
- *
- */
- package com.yihu.base.security.sms;
- import org.springframework.security.authentication.AbstractAuthenticationToken;
- import org.springframework.security.core.GrantedAuthority;
- import org.springframework.security.core.SpringSecurityCoreVersion;
- import java.util.Collection;
- /**
- * @author chenweida
- * 短信授权的Token对象
- */
- public class SmsCodeAuthenticationToken extends AbstractAuthenticationToken {
- private static final long serialVersionUID = SpringSecurityCoreVersion.SERIAL_VERSION_UID;
- // ~ Instance fields
- // ================================================================================================
- private final Object principal;
- // ~ Constructors
- // ===================================================================================================
- /**
- * This constructor can be safely used by any code that wishes to create a
- * <code>UsernamePasswordAuthenticationToken</code>, as the {@link #isAuthenticated()}
- * will return <code>false</code>.
- *
- */
- public SmsCodeAuthenticationToken(String mobile) {
- super(null);
- this.principal = mobile;
- setAuthenticated(false);
- }
- /**
- * This constructor should only be used by <code>AuthenticationManager</code> or
- * <code>AuthenticationProvider</code> implementations that are satisfied with
- * producing a trusted (i.e. {@link #isAuthenticated()} = <code>true</code>)
- * authentication token.
- *
- * @param principal
- * @param credentials
- * @param authorities
- */
- public SmsCodeAuthenticationToken(Object principal,
- Collection<? extends GrantedAuthority> authorities) {
- super(authorities);
- this.principal = principal;
- super.setAuthenticated(true); // must use super, as we override
- }
- // ~ Methods
- // ========================================================================================================
- public Object getCredentials() {
- return null;
- }
- public Object getPrincipal() {
- return this.principal;
- }
- public void setAuthenticated(boolean isAuthenticated) throws IllegalArgumentException {
- if (isAuthenticated) {
- throw new IllegalArgumentException(
- "Cannot set this token to trusted - use constructor which takes a GrantedAuthority list instead");
- }
- super.setAuthenticated(false);
- }
- @Override
- public void eraseCredentials() {
- super.eraseCredentials();
- }
- }
|