📜  Java Java类

📅  最后修改于: 2022-05-13 01:54:41.965000             🧑  作者: Mango

Java Java类

Authenticator 类用于访问某些 URL 需要身份验证的情况。一旦知道需要身份验证,它就会提示用户进行相同的身份验证或使用一些硬编码的用户名和密码。
要使用此类,请遵循以下步骤-

  1. 创建一个扩展 Authenticator 的类。让我们将其命名为 customAuth。
  2. 覆盖 getPasswordAuthentication() 方法。此方法包含几种方法,用于获取请求身份验证的实体的详细信息。所有这些方法都将在后面详细讨论。
  3. 使用 Authenticator 类的 setDefault(Authenticator a) 方法,将新创建的子类设置为 http 服务器请求身份验证时使用的默认身份验证器。
    1. setDefault(Authenticator a) :设置 HTTP 服务器需要身份验证时使用的身份验证器。
Syntax : public static void setDefault(Authenticator a)
                 throws SecurityException
Parameter :
a : authenticator to be set as default
Throws :
SecurityException : if security manager doesn't allow 
setting default authenticator
  1. requestPasswordAuthentication() :向系统注册的身份验证器询问密码。如果未找到,则返回用户名/密码或 null。
Syntax : 
public static PasswordAuthentication requestPasswordAuthentication(
                                                   InetAddress addr,
                                                   int port,
                                                   String protocol,
                                                   String prompt,
                                                   String scheme)
Parameter :
addr : Inet address of the site asking for authentication
port : port of requesting site
protocol : protocol used for connection
prompt : message for the user
scheme : authentication scheme
Throws :
SecurityException : if security manager doesn't allow
setting password authentication.
  1. 如果 inetaddress 不可用,则可以在可以使用主机名的情况下使用另一种重载方法。
Syntax : 
public static PasswordAuthentication requestPasswordAuthentication(
                                                   String host,
                                                   InetAddress addr,
                                                   int port,
                                                   String protocol,
                                                   String prompt,
                                                   String scheme)
Parameter :
host : hostname of the site asking for authentication
addr : Inet address of the site asking for authentication
port : port of requesting site
protocol : protocol used for connection
prompt : message for the user
scheme : authentication scheme
Throws :
SecurityException : if security manager doesn't allow 
setting password authentication.
  1. 如果请求身份验证的站点的 URL 仅已知而不是 inetaddress 和主机名,则可以使用另一种重载方法。
Syntax : 
public static PasswordAuthentication requestPasswordAuthentication(
                                                   String host,
                                                   InetAddress addr,
                                                   int port,
                                                   String protocol,
                                                   String prompt,
                                                   URL url,
                                                   String scheme)
Parameter :
host : hostname of the site asking for authentication
addr : Inet address of the site asking for authentication
port : port of requesting site
protocol : protocol used for connection
prompt : message for the user
url : URL of the site requesting authentication
scheme : authentication scheme
Throws :
SecurityException : if security manager doesn't allow 
setting password authentication.
  1. getRequestingHost() :返回请求身份验证的站点的主机名。
Syntax : protected final String getRequestingHost()
  1. getRequestingSite() :返回请求身份验证的站点的 inetaddress。
Syntax : protected final InetAddress getRequestingSite()
  1. getRequestingPort() :返回连接端口。
Syntax : protected final int getRequestingPort()
  1. getRequestingProtocol() :返回请求连接的协议。
Syntax : protected final String getRequestingProtocol()
  1. getRequestingPrompt() :返回请求者提示的消息。
Syntax : protected final String getRequestingPrompt()
  1. getRequestingScheme() :返回请求站点的方案。
Syntax : protected final String getRequestingScheme()
  1. getPasswordAuthentication() :需要密码验证时调用此方法。所有子类都必须重写此方法,因为默认方法总是返回 null。
Syntax : protected PasswordAuthentication getPasswordAuthentication()
  1. getRequestingURL() :返回请求者的 url。
Syntax : protected final URL getRequestingURL()
  1. getRequestorType() :如果请求者是代理或服务器,则返回。
Syntax : protected Authenticator.RequestorType getRequestorType()