Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.net
Class Authenticator

    java.lang.Object
      |
      +--java.net.Authenticator

public abstract class Authenticator
extends Object

The class Authenticator represents an object that knows how to obtain authentication for a network connection. Usually, it will do this by prompting the user for information.

Applications use this class by creating a subclass, and registering an instance of that subclass with the system with setDefault(). When authentication is required, the system will invoke a method on the subclass (like getPasswordAuthentication). The subclass's method can query about the authentication being requested with a number of inherited methods (getRequestingXXX()), and form an appropriate message for the user.

All methods that request authentication have a default implementation that fails.

Since:
  1.2
See Also:
  `setDefault(java.net.Authenticator)`, `getPasswordAuthentication()`

Constructor Summary
`Authenticator()`

Method Summary
`protected PasswordAuthentication` | `getPasswordAuthentication()` Called when password authorization is needed.
`protected String` | `getRequestingHost()` Gets the `hostname` of the site or proxy requesting authentication, or `null` if not available.
`protected int` | `getRequestingPort()` Gets the port number for the requested connection.
`protected String` | `getRequestingPrompt()` Gets the prompt string given by the requestor.
`protected String` | `getRequestingProtocol()` Give the protocol that's requesting the connection.
`protected String` | `getRequestingScheme()` Gets the scheme of the requestor (the HTTP scheme for an HTTP firewall, for example).
`protected InetAddress` | `getRequestingSite()` Gets the `InetAddress` of the site requesting authorization, or `null` if not available.
`static PasswordAuthentication` | `requestPasswordAuthentication(InetAddress addr, int port, String protocol, String prompt, String scheme)` Ask the authenticator that has been registered with the system for a password.
`static PasswordAuthentication` | `requestPasswordAuthentication(String host, InetAddress addr, int port, String protocol, String prompt, String scheme)` Ask the authenticator that has been registered with the system for a password.
`static void` | `setDefault(Authenticator a)` Sets the authenticator that will be used by the networking code when a proxy or an HTTP server asks for authentication.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Authenticator

    public Authenticator()

Method Detail

### setDefault

    public static void setDefault(Authenticator a)

  Sets the authenticator that will be used by the networking code when a proxy or an HTTP server asks for authentication.

  First, if there is a security manager, its `checkPermission` method is called with a `NetPermission("setDefaultAuthenticator")` permission. This may result in a java.lang.SecurityException.

  Parameters:
    `a` - The authenticator to be set. If a is `null` then any previously set authenticator is removed.
  Throws:
    `SecurityException` - if a security manager exists and its `checkPermission` method doesn't allow setting the default authenticator.
  See Also:
    `SecurityManager.checkPermission(java.security.Permission)`, `NetPermission`

### requestPasswordAuthentication

    public static PasswordAuthentication requestPasswordAuthentication(InetAddress addr,
                                                                       int port,
                                                                       String protocol,
                                                                       String prompt,
                                                                       String scheme)

  Ask the authenticator that has been registered with the system for a password.

  First, if there is a security manager, its `checkPermission` method is called with a `NetPermission("requestPasswordAuthentication")` permission. This may result in a java.lang.SecurityException.

  Parameters:
    `addr` - The InetAddress of the site requesting authorization, or null if not known.
    `port` - the port for the requested connection
    `protocol` - The protocol that's requesting the connection (`getRequestingProtocol()`)
    `prompt` - A prompt string for the user
    `scheme` - The authentication scheme
  Returns:
    The username/password, or null if one can't be gotten.
  Throws:
    `SecurityException` - if a security manager exists and its `checkPermission` method doesn't allow the password authentication request.
  See Also:
    `SecurityManager.checkPermission(java.security.Permission)`, `NetPermission`

### requestPasswordAuthentication

    public static PasswordAuthentication requestPasswordAuthentication(String host,
                                                                       InetAddress addr,
                                                                       int port,
                                                                       String protocol,
                                                                       String prompt,
                                                                       String scheme)

  Ask the authenticator that has been registered with the system for a password. This is the preferred method for requesting a password because the hostname can be provided in cases where the InetAddress is not available.

  First, if there is a security manager, its `checkPermission` method is called with a `NetPermission("requestPasswordAuthentication")` permission. This may result in a java.lang.SecurityException.

  Parameters:
    `host` - The hostname of the site requesting authentication.
    `addr` - The InetAddress of the site requesting authentication, or null if not known.
    `port` - the port for the requested connection.
    `protocol` - The protocol that's requesting the connection (`getRequestingProtocol()`)
    `prompt` - A prompt string for the user which identifies the authentication realm.
    `scheme` - The authentication scheme
  Returns:
    The username/password, or null if one can't be gotten.
  Throws:
    `SecurityException` - if a security manager exists and its `checkPermission` method doesn't allow the password authentication request.
  Since:
    1.4
  See Also:
    `SecurityManager.checkPermission(java.security.Permission)`, `NetPermission`

### getRequestingHost

    protected final String getRequestingHost()

  Gets the `hostname` of the site or proxy requesting authentication, or `null` if not available.

  Returns:
    the hostname of the connection requiring authentication, or null if it's not available.
  Since:
    1.4

### getRequestingSite

    protected final InetAddress getRequestingSite()

  Gets the `InetAddress` of the site requesting authorization, or `null` if not available.

  Returns:
    the InetAddress of the site requesting authorization, or null if it's not available.

### getRequestingPort

    protected final int getRequestingPort()

  Gets the port number for the requested connection.

  Returns:
    an `int` indicating the port for the requested connection.

### getRequestingProtocol

    protected final String getRequestingProtocol()

  Give the protocol that's requesting the connection. Often this will be based on a URL, but in a future SDK it could be, for example, "SOCKS" for a password-protected SOCKS5 firewall.

  Returns:
    the protcol, optionally followed by "/version", where version is a version number.
  See Also:
    `URL.getProtocol()`

### getRequestingPrompt

    protected final String getRequestingPrompt()

  Gets the prompt string given by the requestor.

  Returns:
    the prompt string given by the requestor (realm for http requests)

### getRequestingScheme

    protected final String getRequestingScheme()

  Gets the scheme of the requestor (the HTTP scheme for an HTTP firewall, for example).

  Returns:
    the scheme of the requestor

### getPasswordAuthentication

    protected PasswordAuthentication getPasswordAuthentication()

  Called when password authorization is needed. Subclasses should override the default implementation, which returns null.

  Returns:
    The PasswordAuthentication collected from the user, or null if none is provided.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.