Module  java.base
软件包  java.security

Class AuthProvider

  • All Implemented Interfaces:
    SerializableCloneableMap<Object,Object>


    public abstract class AuthProvider
    extends Provider
    此类为提供程序定义登录和注销方法。

    虽然呼叫者可以直接调用login ,但是如果确定在某些操作之前必须执行登录,则提供商也可以代表呼叫者调用login

    从以下版本开始:
    1.5
    另请参见:
    Serialized Form
    • 构造方法详细信息

      • 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 - 该 CallbackHandler使用的 CallbackHandler从呼叫者获取认证信息,可能是 null
        异常
        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 - 用于获得认证信息的 CallbackHandler ,其可以是 null
        异常
        IllegalStateException - 如果提供商需要配置,并且尚未调用 Provider.configure(java.lang.String)
        SecurityException - 如果呼叫者没有通过 SecurityPermission("authProvider.name")的安全检查,其中 name是该提供商的 getName方法返回的值