java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

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

getRequestingProtocol

protected final String getRequestingProtocol()
给出正在请求连接的协议。此协议往往基于 URL,但在以后的 JDK 中,它可能是(举例来说)用于密码保护的 SOCKS5 防火墙的 "SOCKS"。

返回:
协议,可以选择是否后跟 "/version",其中 version 指的是版本号。
另请参见:
URL.getProtocol()

getRequestingPrompt

protected final String getRequestingPrompt()
获取请求方给出的提示字符串。

返回:
请求方给出的提示字符串(对于 http 请求就是验证域)

getRequestingScheme

protected final String getRequestingScheme()
获取请求方的方案(例如,HTTP 防火墙的 HTTP 方案)。

返回:
请求方的方案

getPasswordAuthentication

protected PasswordAuthentication getPasswordAuthentication()
需要密码授权时调用。子类应该重写默认实现,默认实现返回 null。

返回:
从用户收集的 PasswordAuthentication;如果一个也没有提供,则返回 null。

getRequestingURL

protected URL getRequestingURL()
返回导致请求身份验证的 URL。

返回:
请求 URL
从以下版本开始:
1.5

getRequestorType

protected Authenticator.RequestorType getRequestorType()
返回请求方是代理还是服务器。

返回:
请求方的身份验证类型
从以下版本开始:
1.5

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策