public abstract class Authenticator extends Object
应用程序使用这个类的子类中重写getPasswordAuthentication()
。这种方法通常会使用各种getxxx()访问器方法来获取有关实体请求认证信息。然后,它必须获得一个用户名和密码,通过与用户交互,或通过一些其他的非互动的方式。凭据作为PasswordAuthentication
返回值。
这个具体的子类的一个实例进行了注册系统通过调用setDefault(Authenticator)
。当需要身份验证,系统会调用一个方法的requestpasswordauthentication()反过来调用注册的对象getpasswordauthentication()方法。
请求身份验证的所有方法都有一个默认的实现,即失败。
setDefault(java.net.Authenticator)
,
getPasswordAuthentication()
Modifier and Type | Class and Description |
---|---|
static class |
Authenticator.RequestorType
请求身份验证的实体的类型。
|
Constructor and Description |
---|
Authenticator() |
Modifier and Type | Method and Description |
---|---|
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()
返回导致此请求的身份验证的网址。
|
protected Authenticator.RequestorType |
getRequestorType()
返回该请求者是否是一个代理或服务器。
|
static PasswordAuthentication |
requestPasswordAuthentication(InetAddress addr, int port, String protocol, String prompt, String scheme)
向鉴定人,已与一个密码系统注册。
|
static PasswordAuthentication |
requestPasswordAuthentication(String host, InetAddress addr, int port, String protocol, String prompt, String scheme)
向鉴定人,已与一个密码系统注册。
|
static PasswordAuthentication |
requestPasswordAuthentication(String host, InetAddress addr, int port, String protocol, String prompt, String scheme, URL url, Authenticator.RequestorType reqType)
向鉴定人,已与一个密码系统注册。
|
static void |
setDefault(Authenticator a)
设置认证将由网络代码时使用的代理或HTTP服务器要求身份验证。
|
public static void setDefault(Authenticator a)
首先,如果存在安全管理器,它的checkPermission
方法称为一个NetPermission("setDefaultAuthenticator")
许可。这可能会导致java.lang.securityexception。
a
-身份验证设置。如果是
null
任何先前设定的认证被删除。
SecurityException
-如果存在一个安全管理及其
checkPermission
方法不允许设置默认的认证。
SecurityManager.checkPermission(java.security.Permission)
,
NetPermission
public static PasswordAuthentication requestPasswordAuthentication(InetAddress addr, int port, String protocol, String prompt, String scheme)
首先,如果存在安全管理器,它的checkPermission
方法称为一个NetPermission("requestPasswordAuthentication")
许可。这可能会导致java.lang.securityexception。
addr
-站点请求授权或空它,如果不知道。
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)
首先,如果存在安全管理器,它的checkPermission
方法称为一个NetPermission("requestPasswordAuthentication")
许可。这可能会导致java.lang.securityexception。
host
-站点请求身份验证的主机名。
addr
-站点请求身份验证的它,如果不知道或空。
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, URL url, Authenticator.RequestorType reqType)
首先,如果存在安全管理器,它的checkPermission
方法称为一个NetPermission("requestPasswordAuthentication")
许可。这可能会导致java.lang.securityexception。
host
-站点请求身份验证的主机名。
addr
-站点请求授权或空它,如果不知道。
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()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.