模块 java.base

类 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)
      已弃用。
      构造具有指定名称、版本号和信息的提供程序。
      参数:
      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,可能是 null
      抛出:
      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 - 一个CallbackHandler,用于获取认证信息,可能是null
      抛出:
      IllegalStateException - 如果提供者需要配置且 Provider.configure(java.lang.String) 尚未被调用
      SecurityException - 如果调用者没有通过 SecurityPermission("authProvider.name") 的安全检查,其中 name 是此提供者的 getName 方法返回的值