- java.lang.Object
-
- java.util.Dictionary<K,V>
-
- java.util.Hashtable<Object,Object>
-
- java.util.Properties
-
- java.security.Provider
-
- java.security.AuthProvider
-
- All Implemented Interfaces:
-
Serializable
,Cloneable
,Map<Object,Object>
public abstract class AuthProvider extends Provider
此类为提供程序定义登录和注销方法。虽然呼叫者可以直接调用
login
,但是如果确定在某些操作之前必须执行登录,则提供商也可以代表呼叫者调用login
。- 从以下版本开始:
- 1.5
- 另请参见:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.security.Provider
Provider.Service
-
-
Field Summary
-
Fields inherited from class java.util.Properties
defaults
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
AuthProvider(String name, double version, String info)
已过时。protected
AuthProvider(String name, String versionStr, String info)
构造具有指定名称,版本字符串和信息的提供程序。
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 abstract void
login(Subject subject, CallbackHandler handler)
登录此提供商。abstract void
logout()
从此提供商注销。abstract void
setCallbackHandler(CallbackHandler handler)
设置一个CallbackHandler
。-
Methods inherited from interface java.util.Map
entry, of, of, of, of, of, of, of, of, of, of, of, ofEntries
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from class java.util.Properties
clone, contains, containsKey, containsValue, equals, getProperty, hashCode, isEmpty, list, list, load, loadFromXML, propertyNames, rehash, save, setProperty, size, store, store, storeToXML, storeToXML, stringPropertyNames
-
Methods inherited from class java.security.Provider
clear, compute, computeIfAbsent, computeIfPresent, configure, elements, entrySet, forEach, get, getInfo, getName, getOrDefault, getProperty, getService, getServices, getVersion, getVersionStr, isConfigured, keys, keySet, load, merge, put, putAll, putIfAbsent, putService, remove, remove, removeService, replace, replace, replaceAll, toString, values
-
-
-
-
构造方法详细信息
-
AuthProvider
@Deprecated(since="9") protected AuthProvider(String name, double version, String info)
已过时。 改用AuthProvider(String, String, String)
。构造具有指定名称,版本号和信息的提供程序。- 参数
-
name
- 提供商名称。 -
version
- 提供者版本号。 -
info
- 提供商及其服务的描述。
-
-
方法详细信息
-
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
方法返回的值
-
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
方法返回的值
-
-