インターフェース AuthConfigProvider
ClientAuthConfig または ServerAuthConfig オブジェクト)を取得するために使用できるオブジェクトによって実装されます。 認証コンテキスト構成オブジェクトは、特定のメッセージレイヤーおよびメッセージングコンテキストの認証コンテキストオブジェクト、つまり ClientAuthContext または ServerAuthContext オブジェクトのソースとして機能します。
認証コンテキストオブジェクトは、特定のメッセージレイヤーおよびメッセージングコンテキスト内での特定のメッセージ交換のために、認証モジュール、つまり ClientAuthModule または ServerAuthModule オブジェクトの初期化、構成、呼び出しをカプセル化します。
呼び出し元は認証モジュールを直接操作しません。代わりに、モジュールの呼び出しを管理するために ClientAuthContext または ServerAuthContext に依存しています。呼び出し元は、AuthConfigProvider から取得した ClientAuthConfig または ServerAuthConfig オブジェクトでそれぞれの getAuthContext メソッドを呼び出すことにより、ClientAuthContext または ServerAuthContext のインスタンスを取得します。
以下は、クライアント認証コンテキストオブジェクトを取得し、それを使用してリクエストを保護するための一般的な一連の呼び出しを表しています。
- AuthConfigProvider プロバイダー ;
- ClientAuthConfig config = provider.getClientAuthConfig(layer、appID、cbh);
- 文字列 authContextID = config.getAuthContextID(messageInfo);
- ClientAuthContext コンテキスト = config.getAuthContext(authContextID、subject、properties);
- コンテキスト .secureRequest(messageInfo、件名);
このインターフェースのすべての実装は、次の署名を持つパブリックの 2 つの引数コンストラクターを提供する必要があります。
public AuthConfigProviderImpl(Map properties, AuthConfigFactory factory);
ここで、properties 引数は null の場合があり、null 以外の properties 引数で発生するすべての値とキーは String 型である必要があります。ファクトリ引数が null でない場合は、ファクトリで次のメソッドを呼び出すことにより、プロバイダーがファクトリで自己登録することを示します。
public String
registerConfigProvider(AuthConfigProvider provider, String layer, String appContext, String description);
方法の概要
修飾子と型メソッド説明getClientAuthConfig(StringSE layer, StringSE appContext, CallbackHandlerSE handler) このプロバイダーから ClientAuthConfig のインスタンスを取得します。getServerAuthConfig(StringSE layer, StringSE appContext, CallbackHandlerSE handler) このプロバイダーから ServerAuthConfig のインスタンスを取得します。voidrefresh()動的構成プロバイダーに内部状態を更新させ、結果として生じる状態の変更が、現在のプロセスコンテキスト内でプロバイダーによって以前に作成された対応する認証コンテキスト構成オブジェクトに反映されるようにします。
メソッドの詳細
getClientAuthConfig
ClientAuthConfig getClientAuthConfig(StringSE layer, StringSE appContext, CallbackHandlerSE handler) throws AuthException このプロバイダーから ClientAuthConfig のインスタンスを取得します。このメソッドの実装は、特定のメッセージレイヤーでの ClientAuthModules の構成を記述し、識別されたアプリケーションコンテキストで使用するための ClientAuthConfig インスタンスを返します。
- パラメーター:
layer- 返された ClientAuthConfig オブジェクトのメッセージレイヤーを識別する文字列。この引数は null であってはなりません。appContext- 返された ClientAuthConfig オブジェクトのメッセージングコンテキストを識別する文字列。この引数は null であってはなりません。handler- 返された ClientAuthConfig から派生した ClientAuthContext オブジェクトによってカプセル化された ClientAuthModules に渡される CallbackHandler。この引数は null の場合があります。その場合、実装はデフォルトのハンドラーを構成に割り当てることができます。構成に割り当てられた CallbackHandler は、メッセージングランタイムが後に続くこの仕様のプロファイルによってサポートされる必要があるコールバックオブジェクトをサポートする必要があります。CallbackHandler インスタンスは、対応するアプリケーションに代わって必要なコールバックを処理するために必要なアプリケーションコンテキストで初期化する必要があります。- 戻り値:
- メッセージレイヤーでの ClientAuthModules の構成と、レイヤーおよび appContext 引数によって識別されるメッセージングコンテキストを記述する ClientAuthConfig オブジェクト。このメソッドは null を返しません。
- 例外:
AuthException- このプロバイダーが、返された ClientAuthConfig へのデフォルト CallbackHandler の割り当てをサポートしていない場合。SecurityExceptionSE- 呼び出し元に構成を取得する権限がない場合。
getServerAuthConfig
ServerAuthConfig getServerAuthConfig(StringSE layer, StringSE appContext, CallbackHandlerSE handler) throws AuthException このプロバイダーから ServerAuthConfig のインスタンスを取得します。このメソッドの実装は、特定のアプリケーションコンテキストについて、特定のメッセージレイヤーでの ServerAuthModules の構成を説明する ServerAuthConfig インスタンスを返します。
- パラメーター:
layer- 返された ServerAuthConfig オブジェクトのメッセージレイヤーを識別する文字列。この引数は null であってはなりません。appContext- 返された ServerAuthConfig オブジェクトのメッセージングコンテキストを識別する文字列。この引数は null であってはなりません。handler- 返された ServerAuthConfig から派生した ServerAuthContext オブジェクトによってカプセル化された ServerAuthModules に渡される CallbackHandler。この引数は null の場合があります。その場合、実装はデフォルトのハンドラーを構成に割り当てることができます。構成に割り当てられた CallbackHandler は、メッセージングランタイムが後に続くこの仕様のプロファイルによってサポートされる必要があるコールバックオブジェクトをサポートする必要があります。CallbackHandler インスタンスは、対応するアプリケーションに代わって必要なコールバックを処理するために必要なアプリケーションコンテキストで初期化する必要があります。- 戻り値:
- 特定のメッセージ層で、特定のアプリケーションコンテキスト用の ServerAuthModules の構成を説明する ServerAuthConfig オブジェクト。このメソッドは null を返しません。
- 例外:
AuthException- このプロバイダーが、返された ServerAuthConfig へのデフォルト CallbackHandler の割り当てをサポートしていない場合。SecurityExceptionSE- 呼び出し元に構成を取得する権限がない場合。
refresh
void refresh()動的構成プロバイダーに内部状態を更新させ、結果として生じる状態の変更が、現在のプロセスコンテキスト内でプロバイダーによって以前に作成された対応する認証コンテキスト構成オブジェクトに反映されるようにします。- 例外:
SecurityExceptionSE- 呼び出し元にプロバイダーをリフレッシュする権限がない場合、またはリフレッシュ中にエラーが発生した場合。