クラス UsernamePasswordAuthenticationToken
- 実装されているすべてのインターフェース:
SerializableSE、PrincipalSE、Authentication、CredentialsContainer
Authentication 実装。principal および credentials は、Object.toString() メソッドを介してそれぞれのプロパティを提供する Object で設定する必要があります。このような Object を使用するのに最も簡単なのは String です。
- 関連事項:
ネストされたクラスの要約
ネストされたクラス修飾子と型クラス説明static classUsernamePasswordAuthenticationToken.Builder<B extends UsernamePasswordAuthenticationToken.Builder<B>>UsernamePasswordAuthenticationTokenインスタンスのビルダークラス org.springframework.security.authentication.AbstractAuthenticationToken から継承されたネストクラス / インターフェース
AbstractAuthenticationToken.AbstractAuthenticationBuilder<B extends AbstractAuthenticationToken.AbstractAuthenticationBuilder<B>>コンストラクターの概要
コンストラクター修飾子コンストラクター説明UsernamePasswordAuthenticationToken(@Nullable ObjectSE principal, @Nullable ObjectSE credentials) AbstractAuthenticationToken.isAuthenticated()はfalseを返すため、このコンストラクターは、UsernamePasswordAuthenticationTokenを作成するすべてのコードで安全に使用できます。UsernamePasswordAuthenticationToken(ObjectSE principal, @Nullable ObjectSE credentials, CollectionSE<? extends GrantedAuthority> authorities) このコンストラクターは、信頼できる(つまり、信頼できる)の作成に満足しているAuthenticationManagerまたはAuthenticationProvider実装でのみ使用する必要があります。protectedメソッドのサマリー
修飾子と型メソッド説明authenticated(ObjectSE principal, @Nullable ObjectSE credentials, CollectionSE<? extends GrantedAuthority> authorities) このファクトリメソッドは、認証されたUsernamePasswordAuthenticationTokenを作成するコードで安全に使用できます。voidCredentialsContainerを実装するものに対してeraseCredentialsメソッドを呼び出して、credentials、principal、detailsオブジェクトをチェックします。@Nullable ObjectSEプリンシパルが正しいことを証明する資格情報。@Nullable ObjectSE認証されるプリンシパルの ID。voidsetAuthenticated(boolean isAuthenticated) 詳細については、Authentication.isAuthenticated()を参照してください。このインスタンスに基づいてAuthentication.Builderを返します。unauthenticated(@Nullable ObjectSE principal, @Nullable ObjectSE credentials) このファクトリメソッドは、認証されていないUsernamePasswordAuthenticationTokenを作成するコードで安全に使用できます。クラス org.springframework.security.authentication.AbstractAuthenticationToken から継承されたメソッド
equals, getAuthorities, getDetails, getName, hashCode, isAuthenticated, setDetails, toStringクラス java.lang.ObjectSE から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, waitSE, waitSEインターフェース java.security.PrincipalSE から継承されたメソッド
impliesSE
コンストラクターの詳細
UsernamePasswordAuthenticationToken
public UsernamePasswordAuthenticationToken(@Nullable ObjectSE principal, @Nullable ObjectSE credentials) AbstractAuthenticationToken.isAuthenticated()はfalseを返すため、このコンストラクターは、UsernamePasswordAuthenticationTokenを作成するすべてのコードで安全に使用できます。UsernamePasswordAuthenticationToken
public UsernamePasswordAuthenticationToken(ObjectSE principal, @Nullable ObjectSE credentials, CollectionSE<? extends GrantedAuthority> authorities) このコンストラクターは、信頼された(つまり、AbstractAuthenticationToken.isAuthenticated()=true)認証トークンの作成に満足しているAuthenticationManagerまたはAuthenticationProvider実装でのみ使用する必要があります。- パラメーター:
principal-credentials-authorities-
UsernamePasswordAuthenticationToken
protected UsernamePasswordAuthenticationToken(UsernamePasswordAuthenticationToken.Builder<?> builder)
メソッドの詳細
unauthenticated
public static UsernamePasswordAuthenticationToken unauthenticated(@Nullable ObjectSE principal, @Nullable ObjectSE credentials) このファクトリメソッドは、認証されていないUsernamePasswordAuthenticationTokenを作成するコードで安全に使用できます。- パラメーター:
principal-credentials-- 戻り値:
- isAuthenticated() の結果が誤っている UsernamePasswordAuthenticationToken
- 導入:
- 5.7
authenticated
public static UsernamePasswordAuthenticationToken authenticated(ObjectSE principal, @Nullable ObjectSE credentials, CollectionSE<? extends GrantedAuthority> authorities) このファクトリメソッドは、認証されたUsernamePasswordAuthenticationTokenを作成するコードで安全に使用できます。- パラメーター:
principal-credentials-- 戻り値:
- 真の isAuthenticated() 結果を伴う UsernamePasswordAuthenticationToken
- 導入:
- 5.7
getCredentials
インターフェースからコピーされた説明:Authenticationプリンシパルが正しいことを証明する資格情報。これは通常パスワードですが、AuthenticationManagerに関連するものであれば何でもかまいません。呼び出し元は資格情報を入力する必要があります。- 戻り値:
Principalの身元を証明する資格情報
getPrincipal
インターフェースからコピーされた説明:Authentication認証されるプリンシパルの ID。ユーザー名とパスワードを使用した認証リクエストの場合、これはユーザー名になります。呼び出し元は、認証リクエストのプリンシパルを設定することが期待されています。多くの場合、 AuthenticationManager 実装は、アプリケーションが使用するプリンシパルとして、より豊富な情報を含む Authentication を返します。認証プロバイダーの多くは、
UserDetailsオブジェクトをプリンシパルとして作成します。- 戻り値:
- 認証される
Principalまたは認証後の認証されたプリンシパル。
setAuthenticated
インターフェースからコピーされた説明:Authentication詳細については、Authentication.isAuthenticated()を参照してください。実装では、このメソッドが
falseパラメーターで呼び出されることを常に許可する必要があります。これは、認証トークンを信頼しないように指定するためにさまざまなクラスで使用されるためです。実装がtrueパラメーター (認証トークンが信頼されていることを示します - 潜在的なセキュリティリスク) を使用した呼び出しを拒否したい場合、実装はIllegalArgumentExceptionSE をスローする必要があります。- 次で指定:
- インターフェース
AuthenticationのsetAuthenticated - オーバーライド:
- クラス
AbstractAuthenticationTokenのsetAuthenticated - パラメーター:
isAuthenticated- トークンを信頼する必要がある場合はtrue(例外が発生する可能性があります)、トークンを信頼しない場合はfalse- 例外:
IllegalArgumentExceptionSE- 実装が不変であるか、Authentication.isAuthenticated()への独自の代替アプローチを実装しているため、認証トークンを(引数としてtrueを渡すことにより)信頼しようとする試みが拒否された場合
eraseCredentials
public void eraseCredentials()クラスからコピーされた説明:AbstractAuthenticationTokenCredentialsContainerを実装するものに対してeraseCredentialsメソッドを呼び出して、credentials、principal、detailsオブジェクトをチェックします。- 次で指定:
- インターフェース
CredentialsContainerのeraseCredentials - オーバーライド:
- クラス
AbstractAuthenticationTokenのeraseCredentials
toBuilder
インターフェースからコピーされた説明:Authenticationこのインスタンスに基づいてAuthentication.Builderを返します。デフォルトでは、SimpleAuthenticationを構築するビルダーを返します。default方式ではありますが、すべてのAuthentication実装でこれを実装する必要があります。これは、Authentication.Builder.build()が呼び出された際にAuthentication型が保持されることを保証するためです。これは、認証実装にカスタムフィールドが含まれている場合に特に重要です。アプリケーションは
Authenticationインターフェースにコード化することが推奨されており、カスタム情報は多くの場合Authentication.getPrincipal()値に含まれているため、これは厳密には必要ではありません。- 戻り値:
- このインスタンスに基づいて新しい
Authenticationを構築するためのAuthentication.Builder