所有类


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

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部