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