JavaTM Platform
Standard Ed. 6

java.security
类 AuthProvider

java.lang.Object
  继承者 java.util.Dictionary<K,V>
      继承者 java.util.Hashtable<Object,Object>
          继承者 java.util.Properties
              继承者 java.security.Provider
                  继承者 java.security.AuthProvider
所有已实现的接口:
Serializable, Cloneable, Map< Object, Object>

public abstract class AuthProvider
     
extends Provider

此类定义 provider 的登录和注销方法。

调用者可以直接调用 login,但如果 provider 确定必须在某些特定操作前执行登录,则其也可以代表调用者调用 login

从以下版本开始:
1.5
另请参见:
序列化表格

嵌套类摘要
 
从类 java.security.Provider 继承的嵌套类/接口
Provider.Service
 
字段摘要
 
从类 java.util.Properties 继承的字段
defaults
 
构造方法摘要
protected AuthProvider(String name, double version, String info)
          构造具有指定名称、版本号和信息的 provider。
 
方法摘要
abstract  void login(Subject subject, CallbackHandler handler)
          登录到此 provider 中。
abstract  void logout()
          在此 provider 中注销。
abstract  void setCallbackHandler(CallbackHandler handler)
          设置 CallbackHandler
 
从类 java.security.Provider 继承的方法
clear, elements, entrySet, get, getInfo, getName, getProperty, getService, getServices, getVersion, keys, keySet, load, put, putAll, putService, remove, removeService, toString, values
 
从类 java.util.Properties 继承的方法
getProperty, list, list, load, loadFromXML, propertyNames, save, setProperty, store, store, storeToXML, storeToXML, stringPropertyNames
 
从类 java.util.Hashtable 继承的方法
clone, contains, containsKey, containsValue, equals, hashCode, isEmpty, rehash, size
 
从类 java.lang.Object 继承的方法
finalize, getClass, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

AuthProvider

protected AuthProvider(String name,
                       double version,
                       String info)
构造具有指定名称、版本号和信息的 provider。

参数:
name - provider 的名称。
version - provider 的版本号。
info - provider 及其服务的描述。
方法详细信息

login

public abstract void login(Subject subject,
                           CallbackHandler handler)
                    throws LoginException
登录到此 provider 中。

provider 依靠 CallbackHandler 从调用者(例如,PIN)获取验证信息。如果调用者向此方法传递为 null 的 provider,则 provider 将使用在 setCallbackHandler 方法中设置的处理程序。如果在该方法中没有设置处理程序,则 provider 将查询 auth.login.defaultCallbackHandler 安全属性,以获取默认处理程序实现的完全限定类名称。如果没有设置安全属性,则假定 provider 具有获取验证信息的替代方法。

参数:
subject - Subject,它可能包含用于验证的主体/凭据,或者可以在成功完成验证后利用其他主体/凭据填充。此参数可以为 null
handler - 此 provider 用于从调用者获取验证信息的 CallbackHandler,它可能为 null
抛出:
LoginException - 如果登录操作失败
SecurityException - 如果调用者不传递对 SecurityPermission("authProvider.name")(其中 name 为此 provider 的 getName 方法所返回的值)的安全检查。

logout

public abstract void logout()
                     throws LoginException
在此 provider 中注销。

抛出:
LoginException - 如果注销操作失败
SecurityException - 如果调用者不传递 SecurityPermission("authProvider.name")(其中 name 为此 provider 的 getName 方法所返回的值)的安全检查。

setCallbackHandler

public abstract void setCallbackHandler(CallbackHandler handler)
设置 CallbackHandler

如果没有传递给 login 方法一个处理程序,则 provider 使用此处理程序。如果 provider 代表调用者调用 login,则其也使用此处理程序。在任何一种情况下,如果没有通过此方法中设置处理程序,则 provider 将查询 auth.login.defaultCallbackHandler 安全属性,以获取默认处理程序实现的完全限定类名称。如果没有设置安全属性,则假定 provider 具有获取验证信息的替代方法。

参数:
handler - 用于获取验证信息(可以为 null)的 CallbackHandler
抛出:
SecurityException - 如果调用者不传递 SecurityPermission("authProvider.name")(其中 name 为此 provider 的 getName 方法所返回的值)的安全检查。

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策