クラス UsernamePasswordAuthenticationToken

  • 実装されたすべてのインターフェース:
    java.io.Serializablejava.security.PrincipalAuthenticationCredentialsContainer
    既知の直属サブクラス
    JaasAuthenticationToken

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

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

    関連事項:
    直列化された形式
    • コンストラクターの詳細

      • UsernamePasswordAuthenticationToken

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

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

      • getCredentials

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

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

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

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

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

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

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