Module java.base
Package java.security

Class AuthProvider

所有已实现的接口:
Serializable, Cloneable, Map<Object,Object>

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

调用者可以直接调用login,如果提供程序确定在执行某些操作之前必须执行登录,则提供程序也可以代表调用者调用login

自版本:
1.5
参见:
  • Constructor Details

    • AuthProvider

      @Deprecated(since="9") protected AuthProvider(String name, double version, String info)
      Deprecated.
      使用指定的名称、版本号和信息构造提供程序。
      参数:
      name - 提供程序名称。
      version - 提供程序版本号。
      info - 提供程序及其服务的描述。
    • AuthProvider

      protected AuthProvider(String name, String versionStr, String info)
      使用指定的名称、版本字符串和信息构造提供程序。
      参数:
      name - 提供程序名称。
      versionStr - 提供程序版本字符串。
      info - 提供程序及其服务的描述。
      自版本:
      9
  • Method Details

    • 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方法返回的值