クラス UsernamePasswordAuthenticationToken

java.lang.ObjectSE
org.springframework.security.authentication.AbstractAuthenticationToken
org.springframework.security.authentication.UsernamePasswordAuthenticationToken
実装されたすべてのインターフェース:
SerializableSEPrincipalSEAuthenticationCredentialsContainer
既知の直属サブクラス
JaasAuthenticationToken

public class UsernamePasswordAuthenticationToken extends AbstractAuthenticationToken
ユーザー名とパスワードを簡単に提示するために設計された Authentication 実装。

principal および credentials は、Object.toString() メソッドを介してそれぞれのプロパティを提供する Object で設定する必要があります。このような Object を使用するのに最も簡単なのは String です。

関連事項:
  • コンストラクターの詳細

    • UsernamePasswordAuthenticationToken

      public UsernamePasswordAuthenticationToken(ObjectSE principal, ObjectSE credentials)
      AbstractAuthenticationToken.isAuthenticated() は false を返すため、このコンストラクターは、UsernamePasswordAuthenticationToken を作成するすべてのコードで安全に使用できます。
    • UsernamePasswordAuthenticationToken

      public UsernamePasswordAuthenticationToken(ObjectSE principal, ObjectSE credentials, CollectionSE<? extends GrantedAuthority> authorities)
      このコンストラクターは、信頼された(つまり、AbstractAuthenticationToken.isAuthenticated()true)認証トークンの作成に満足している AuthenticationManager または AuthenticationProvider 実装でのみ使用する必要があります。
      パラメーター:
      principal -
      credentials -
      authorities -
  • メソッドの詳細

    • unauthenticated

      public static UsernamePasswordAuthenticationToken unauthenticated(ObjectSE principal, ObjectSE credentials)
      このファクトリメソッドは、認証されていない UsernamePasswordAuthenticationToken を作成するコードで安全に使用できます。
      パラメーター:
      principal -
      credentials -
      戻り値:
      isAuthenticated() の結果が誤っている UsernamePasswordAuthenticationToken
      導入:
      5.7
    • authenticated

      public static UsernamePasswordAuthenticationToken authenticated(ObjectSE principal, ObjectSE credentials, CollectionSE<? extends GrantedAuthority> authorities)
      このファクトリメソッドは、認証された UsernamePasswordAuthenticationToken を作成するコードで安全に使用できます。
      パラメーター:
      principal -
      credentials -
      戻り値:
      真の isAuthenticated() 結果を伴う UsernamePasswordAuthenticationToken
      導入:
      5.7
    • getCredentials

      public ObjectSE getCredentials()
      インターフェースからコピーされた説明: Authentication
      プリンシパルが正しいことを証明する資格情報。これは通常パスワードですが、AuthenticationManager に関連するものであれば何でもかまいません。発信者は資格情報を入力する必要があります。
      戻り値:
      Principal の身元を証明する資格情報
    • getPrincipal

      public ObjectSE getPrincipal()
      インターフェースからコピーされた説明: Authentication
      認証されるプリンシパルの ID。ユーザー名とパスワードを使用した認証リクエストの場合、これはユーザー名になります。呼び出し元は、認証リクエストのプリンシパルを設定することが期待されています。

      多くの場合、 AuthenticationManager 実装は、アプリケーションが使用するプリンシパルとして、より豊富な情報を含む Authentication を返します。認証プロバイダーの多くは、UserDetails オブジェクトをプリンシパルとして作成します。

      戻り値:
      認証される Principal または認証後の認証されたプリンシパル。
    • setAuthenticated

      public void setAuthenticated(boolean isAuthenticated) throws IllegalArgumentExceptionSE
      インターフェースからコピーされた説明: Authentication
      詳細については、Authentication.isAuthenticated() を参照してください。

      実装では、このメソッドが false パラメーターで呼び出されることをに許可する必要があります。これは、認証トークンを信頼しないように指定するためにさまざまなクラスで使用されるためです。実装が true パラメーター (認証トークンが信頼されていることを示します - 潜在的なセキュリティリスク) を使用した呼び出しを拒否したい場合、実装は IllegalArgumentExceptionSE をスローする必要があります。

      次で指定:
      インターフェース AuthenticationsetAuthenticated 
      オーバーライド:
      クラス AbstractAuthenticationTokensetAuthenticated 
      パラメーター:
      isAuthenticated - トークンを信頼する必要がある場合は true (例外が発生する可能性があります)、トークンを信頼しない場合は false 
      例外:
      IllegalArgumentExceptionSE - 実装が不変であるか、Authentication.isAuthenticated() への独自の代替アプローチを実装しているため、認証トークンを(引数として true を渡すことにより)信頼しようとする試みが拒否された場合
    • eraseCredentials

      public void eraseCredentials()
      クラスからコピーされた説明: AbstractAuthenticationToken
      CredentialsContainer を実装するものに対して eraseCredentials メソッドを呼び出して、credentialsprincipaldetails オブジェクトをチェックします。
      次で指定:
      インターフェース CredentialsContainereraseCredentials 
      オーバーライド:
      クラス AbstractAuthenticationTokeneraseCredentials