モジュール java.base
パッケージ java.security

クラスAuthProvider

  • すべての実装されたインタフェース:
    Serializable, Cloneable, Map<Object,​Object>

    public abstract class AuthProvider
    extends Provider
    このクラスは、特定のプロバイダに対するログイン・メソッドとログアウト・メソッドを定義します。

    呼出し元はloginを直接呼び出すことができますが、特定の処理に先だってログインを実行する必要があるとプロバイダが判断した場合には、プロバイダ自身が呼出し元に代わってloginを呼び出します。

    導入されたバージョン:
    1.5
    関連項目:
    直列化された形式
    • コンストラクタの詳細

      • AuthProvider

        @Deprecated(since="9")
        protected AuthProvider​(String name,
                               double version,
                               String info)
        非推奨。
        代わりにAuthProvider(String, String, String)を使用してください。
        指定された名前、バージョン番号、および情報を使用してプロバイダを構築します。
        パラメータ:
        name - プロバイダの名前。
        version - プロバイダのバージョン番号。
        info - プロバイダとそのサービスの記述。
      • AuthProvider

        protected AuthProvider​(String name,
                               String versionStr,
                               String info)
        指定された名前、バージョン文字列、および情報を持つプロバイダを構築します。
        パラメータ:
        name - プロバイダの名前。
        versionStr - プロバイダのバージョン文字列。
        info - プロバイダとそのサービスの記述。
        導入されたバージョン:
        9
    • メソッドの詳細

      • login

        public abstract void login​(Subject subject,
                                   CallbackHandler handler)
                            throws LoginException
        このプロバイダにログインします。

        プロバイダは、CallbackHandlerを使ってPINなどの認証情報を呼出し元から取得します。 呼出し元がこのメソッドにnullハンドラを渡した場合、プロバイダはsetCallbackHandlerメソッドで設定されたハンドラを使用します。 そのメソッド経由でハンドラが設定されていなかった場合、プロバイダはauth.login.defaultCallbackHandlerセキュリティ・プロパティを照会することで、デフォルト・ハンドラ実装の完全指定クラス名を取得します。 そのセキュリティ・プロパティが設定されていなかった場合、認証情報を取得するための別の方法がそのプロバイダに備わっているものと見なされます。

        パラメータ:
        subject - Subject。これには、認証用の主体や資格を含めることができる。認証の正常完了後に、主体や資格を追加することもできる。 このパラメータはnullになる可能性がある。
        handler - 認証情報を呼出し元から取得するために、このプロバイダによって使用されるCallbackHandlernullを設定できる
        例外:
        IllegalStateException - プロバイダが構成を必要とし、Provider.configure(java.lang.String)が呼び出されていない場合
        LoginException - ログイン処理が失敗した場合
        SecurityException - 呼出し側がSecurityPermission("authProvider.name")のセキュリティ・チェックにパスしなかった場合。ここで、nameはこのプロバイダのgetNameメソッドの戻り値
      • logout

        public abstract void logout()
                             throws LoginException
        このプロバイダからログアウトします。
        例外:
        IllegalStateException - プロバイダが構成を必要とし、Provider.configure(java.lang.String)が呼び出されていない場合
        LoginException - ログアウト処理が失敗した場合
        SecurityException - 呼出し側がSecurityPermission("authProvider.name")のセキュリティ・チェックにパスしなかった場合。ここで、nameはこのプロバイダのgetNameメソッドの戻り値
      • setCallbackHandler

        public abstract void setCallbackHandler​(CallbackHandler handler)
        CallbackHandlerを設定します。

        loginメソッドにハンドラが渡されなかった場合、プロバイダはこのハンドラを使用します。 また、プロバイダ自身が呼出し元に代わってloginを呼び出す場合にも、プロバイダはこのハンドラを使用します。 いずれにしても、このメソッド経由でハンドラが設定されていなかった場合、プロバイダはauth.login.defaultCallbackHandlerセキュリティ・プロパティを照会することで、デフォルト・ハンドラ実装の完全指定クラス名を取得します。 そのセキュリティ・プロパティが設定されていなかった場合、認証情報を取得するための別の方法がそのプロバイダに備わっているものと見なされます。

        パラメータ:
        handler - 認証情報を取得するためのCallbackHandlernullを設定できる
        例外:
        IllegalStateException - プロバイダが構成を必要とし、Provider.configure(java.lang.String)が呼び出されていない場合
        SecurityException - 呼出し側がSecurityPermission("authProvider.name")のセキュリティ・チェックにパスしなかった場合。ここで、nameはこのプロバイダのgetNameメソッドの戻り値