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() メソッドの 1 つを呼び出し、これが登録されたオブジェクトの getPasswordAuthentication() メソッドを呼び出します。

認証を要求するメソッドはすべて、失敗に終わるデフォルト実装を持っています。

導入されたバージョン:
1.2
関連項目:
setDefault(java.net.Authenticator), getPasswordAuthentication()

入れ子のクラスの概要
static class Authenticator.RequestorType
          認証を要求しているエンティティのタイプ
 
コンストラクタの概要
Authenticator()
           
 
メソッドの概要
protected  PasswordAuthentication getPasswordAuthentication()
          パスワード認証が必要な場合に呼び出されます。
protected  String getRequestingHost()
          認証を要求しているサイトまたはプロキシの hostname を取得します。
protected  int getRequestingPort()
          要求された接続に使うポート番号を取得します。
protected  String getRequestingPrompt()
          要求者が入力したプロンプト文字列を取得します。
protected  String getRequestingProtocol()
          接続を要求しているプロトコルを返します。
protected  String getRequestingScheme()
          要求者が使用している方式 (たとえば、HTTP ファイアウォールの場合は HTTP 方式)
protected  InetAddress getRequestingSite()
          許可を要求しているサイトの InetAddress を取得します。
protected  URL getRequestingURL()
          この認証要求の結果である URL を返します。
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)
          オーセンティケータを設定します。
 
クラス 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 サーバからオーセンティケータを要求されたときに、ネットワークコードが使います。

セキュリティマネージャが存在する場合、最初にセキュリティマネージャの checkPermission メソッドが、アクセス権 NetPermission("setDefaultAuthenticator") を指定して呼び出されます。この結果、java.lang.SecurityException になることがあります。

パラメータ:
a - 設定されるオーセンティケータ。null の場合、以前に設定されたオーセンティケータはすべて削除される
例外:
SecurityException - セキュリティマネージャが存在し、セキュリティマネージャの checkPermission メソッドが、デフォルトのオーセンティケータを設定することを許可しない場合
関連項目:
SecurityManager.checkPermission(java.security.Permission), NetPermission

requestPasswordAuthentication

public static PasswordAuthentication requestPasswordAuthentication(InetAddress addr,
                                                                   int port,
                                                                   String protocol,
                                                                   String prompt,
                                                                   String scheme)
システムに登録されているオーセンティケータに、パスワードを要求します。

セキュリティマネージャが存在する場合、最初にセキュリティマネージャの checkPermission メソッドが、アクセス権 NetPermission("requestPasswordAuthentication") を指定して呼び出されます。この結果、java.lang.SecurityException になることがあります。

パラメータ:
addr - 許可を要求しているサイトの InetAddress。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)
システムに登録されているオーセンティケータにパスワードを要求します。InetAddress が使用できない場合はホスト名が提供されるので、この方法でパスワードを要求することをお勧めします。

セキュリティマネージャが存在する場合、最初にセキュリティマネージャの checkPermission メソッドが、アクセス権 NetPermission("requestPasswordAuthentication") を指定して呼び出されます。この結果、java.lang.SecurityException になることがあります。

パラメータ:
host - 認証を要求しているサイトのホスト名
addr - 認証を要求しているサイトの InetAddress。InetAddress が不明の場合は null
port - 要求された接続に使うポート番号
protocol - 接続を要求しているプロトコル (getRequestingProtocol())
prompt - 認証領域を識別する、ユーザに表示されるプロンプト文字列
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)
システムに登録されているオーセンティケータに、パスワードを要求します。

セキュリティマネージャが存在する場合、最初にセキュリティマネージャの checkPermission メソッドが、アクセス権 NetPermission("requestPasswordAuthentication") を指定して呼び出されます。この結果、java.lang.SecurityException になることがあります。

パラメータ:
host - 認証を要求しているサイトのホスト名
addr - 許可を要求しているサイトの InetAddress。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 を取得します。hostname が使用できない場合は null が返されます。

戻り値:
認証を要求している接続のホスト名。ホスト名が使用できない場合は null
導入されたバージョン:
1.4

getRequestingSite

protected final InetAddress getRequestingSite()
許可を要求しているサイトの InetAddress を取得します。InetAddress が使用できない場合は null が返されます。

戻り値:
認証を要求しているサイトの InetAddress。InetAddress が使用できない場合は null

getRequestingPort

protected final int getRequestingPort()
要求された接続に使うポート番号を取得します。

戻り値:
要求された接続のポート番号を示す int

getRequestingProtocol

protected final String getRequestingProtocol()
接続を要求しているプロトコルを返します。多くの場合、プロトコルは URL を基にしています。しかし将来の JDK では、たとえば、パスワードで保護された SOCKS5 ファイアウォールには「SOCKS」と指定するようになる予定です。

戻り値:
プロトコル。バージョン番号を表す「/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 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。