java.lang.Objectjava.net.Authenticator
public abstract class Authenticator
Authenticator 类表示懂得如何获得网络连接验证的对象。通常,它通过提示用户输入信息来完成此操作。
应用程序通过重写子类中的 getPasswordAuthentication() 使用此类。此方法通常使用各种 getXXX() 访问器方法获取关于请求验证的实体的信息。然后,它必须通过与用户交互或者某些其他非交互手段获取用户名和密码。之后凭据将以 PasswordAuthentication 返回值的形式返回。
接下来通过调用 setDefault(Authenticator) 向系统注册此具体子类的实例。需要进行验证时,系统将调用其中一个 requestPasswordAuthentication() 方法,这些方法将依次调用注册对象的 getPasswordAuthentication() 方法。
请求验证的所有方法都有一个失败的默认实现。
setDefault(java.net.Authenticator),
getPasswordAuthentication()
| 嵌套类摘要 | |
|---|---|
static class |
Authenticator.RequestorType 请求验证的实体的类型。 |
| 构造方法摘要 | |
|---|---|
Authenticator() |
|
| 方法摘要 | |
|---|---|
protected PasswordAuthentication |
getPasswordAuthentication() 需要密码授权时调用。 |
protected String |
getRequestingHost() 获取请求验证的站点或代理的 hostname;如果不可用,则为 null。 |
protected int |
getRequestingPort() 获取所请求的连接的端口号。 |
protected String |
getRequestingPrompt() 获取请求方给出的提示字符串。 |
protected String |
getRequestingProtocol() 给出正在请求连接的协议。 |
protected String |
getRequestingScheme() 获取请求方的方案(例如,HTTP 防火墙的 HTTP 方案)。 |
protected InetAddress |
getRequestingSite() 获取请求授权的站点的 InetAddress;如果不可用,则为 null。 |
protected URL |
getRequestingURL() 返回导致请求验证的 URL。 |
protected Authenticator.RequestorType |
getRequestorType() 返回请求方是代理还是服务器。 |
static PasswordAuthentication |
requestPasswordAuthentication(InetAddress addr, int port, String protocol, String prompt, String scheme) 要求已经向系统注册的 authenticator 提供密码。 |
static PasswordAuthentication |
requestPasswordAuthentication(String host, InetAddress addr, int port, String protocol, String prompt, String scheme) 要求已经向系统注册的 authenticator 提供密码。 |
static PasswordAuthentication |
requestPasswordAuthentication(String host, InetAddress addr, int port, String protocol, String prompt, String scheme, URL url, Authenticator.RequestorType reqType) 要求已经向系统注册的 authenticator 提供密码。 |
static void |
setDefault(Authenticator a) 设置在代理或 HTTP 服务器请求验证时连网密码使用的 authenticator。 |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 构造方法详细信息 |
|---|
public Authenticator()
| 方法详细信息 |
|---|
public static void setDefault(Authenticator a)
首先,如果存在安全管理器,则在 NetPermission("setDefaultAuthenticator") 权限下调用 checkPermission 方法。这可能导致 java.lang.SecurityException。
a - 要设置的 authenticator。如果 a 为
null,则移除以前设置的所有 authenticator。
SecurityException - 如果安全管理器存在并且其
checkPermission 方法不允许设置默认 authenticator。
SecurityManager.checkPermission(java.security.Permission),
NetPermission
public static PasswordAuthentication requestPasswordAuthentication(InetAddress addr, int port, String protocol, String prompt, String scheme)
首先,如果存在安全管理器,则在 NetPermission("requestPasswordAuthentication") 权限下调用 checkPermission 方法。这可能导致 java.lang.SecurityException。
addr - 请求授权的站点的 InetAddress;如果未知则为 null。
port - 所请求的连接的端口
protocol - 正在请求连接的协议 (
getRequestingProtocol())
prompt - 用户的提示字符串
scheme - 验证方案
SecurityException - 如果安全管理器存在并且其
checkPermission 方法不允许密码验证请求。
SecurityManager.checkPermission(java.security.Permission),
NetPermission
public static PasswordAuthentication requestPasswordAuthentication(String host, InetAddress addr, int port, String protocol, String prompt, String scheme)
首先,如果存在安全管理器,则在 NetPermission("requestPasswordAuthentication") 权限下调用 checkPermission 方法。这可能导致 java.lang.SecurityException。
host - 请求验证的站点的主机名。
addr - 请求授权的站点的 InetAddress;如果未知则为 null。
port - 所请求的连接的端口。
protocol - 请求连接的协议 (
getRequestingProtocol())
prompt - 标识验证域 (authentication realm) 的用户的提示字符串。
scheme - 验证方案
SecurityException - 如果安全管理器存在并且其
checkPermission 方法不允许密码验证请求。
SecurityManager.checkPermission(java.security.Permission),
NetPermission
public static PasswordAuthentication requestPasswordAuthentication(String host, InetAddress addr, int port, String protocol, String prompt, String scheme, URL url, Authenticator.RequestorType reqType)
首先,如果存在安全管理器,则在 NetPermission("requestPasswordAuthentication") 权限下调用 checkPermission 方法。这可能导致 java.lang.SecurityException。
host - 请求验证的站点的主机名。
addr - 请求授权的站点的 InetAddress;或者未知则为 null。
port - 所请求的连接的端口
protocol - 请求连接的协议 (
getRequestingProtocol())
prompt - 用户的提示字符串
scheme - 验证方案
url - 导致验证的请求 URL
reqType - 请求验证的实体的类型(服务器或代理)。
SecurityException - 如果安全管理器存在并且其
checkPermission 方法不允许密码验证请求。
SecurityManager.checkPermission(java.security.Permission),
NetPermission
protected final String getRequestingHost()
hostname;如果不可用,则为
null。
protected final InetAddress getRequestingSite()
InetAddress;如果不可用,则为
null。
protected final int getRequestingPort()
int。
protected final String getRequestingProtocol()
URL.getProtocol()
protected final String getRequestingPrompt()
protected final String getRequestingScheme()
protected PasswordAuthentication getPasswordAuthentication()
protected URL getRequestingURL()
protected Authenticator.RequestorType getRequestorType()