Java in a Nutshell, 5th Edition [Electronic resources]

نسخه متنی -صفحه : 1191/ 354
نمايش فراداده

Authenticatorjava.net

Java 1.2

This abstract class defines a customizable mechanism for requesting and performing password authentication when required in URL-based networking. The static setDefault( ) method establishes the systemwide Authenticator. An Authenticator implementation can obtain the required authentication information from the user however it wants (e.g., through a text- or a GUI-based interface). setDefault( ) can be called only once; subsequent calls are ignored. Calling setDefault( ) requires an appropriate NetPermission.

When an application or the Java runtime system requires password authentication (to read the contents of a specified URL, for example), it calls the static requestPasswordAuthentication( ) method, passing arguments that specify the host and port for which the password is required and a prompt that may be displayed to the user. This method looks up the default Authenticator for the system and calls its getPasswordAuthentication( ) method. Calling requestPasswordAuthentication( ) requires an appropriate NetPermission.

Authenticator is an abstract class; its default implementation of getPasswordAuthentication( ) always returns null. To create an Authenticator, you must override this method so that it prompts the user to enter a username and password and returns that information in the form of a PasswordAuthentication object. Your implementation of getPasswordAuthentication( ) may call the various getrequesting( ) methods to find out who is requesting the password and what the recommended user prompt is. Java 1.4 added a version of the static requestPasswordAuthentication( ) method that allows specification of the requesting hostname. A corresponding getrequestingHost( ) instance method was also added.

Java 5.0 adds yet another version of requestPasswordAuthentication( ), and corresponding methods to query the URL that requires the password and the RequestorType of the request. RequestorType is a nested enum type that specifies whether the request comes from an HTTP server or a proxy server.

public abstract class

Authenticator { // Public Constructors public

Authenticator ( ); // Nested Types

5.0 public enum

RequestorType ; // Public Class Methods public static PasswordAuthentication

requestPasswordAuthentication (InetAddress

addr , int

port , String

protocol , String

prompt , String

scheme );

1.4 public static PasswordAuthentication

requestPasswordAuthentication (String

host , InetAddress

addr , int

port , String

protocol , String

prompt , String

scheme );

5.0 public static PasswordAuthentication

requestPasswordAuthentication (String

host , InetAddress

addr , int

port , String

protocol , String

prompt , String

scheme , URL

url , Authenticator.RequestorType

reqType ); public static void

setDefault (Authenticator

a ); synchronized // Protected Instance Methods protected PasswordAuthentication

getPasswordAuthentication ( ); constant

1.4 protected final String

getRequestingHost ( ); protected final int

getRequestingPort ( ); protected final String

getRequestingPrompt ( ); protected final String

getRequestingProtocol ( ); protected final String

getRequestingScheme ( ); protected final InetAddress

getRequestingSite ( );

5.0 protected URL

getRequestingURL ( );

5.0 protected Authenticator.RequestorType

getRequestorType ( ); }