JavaTM 2 Platform
Std. Ed. v1.3

java.net
クラス Authenticator

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

public abstract class Authenticator
extends Object

Authenticator クラスは、ネットワーク接続に必要な認証を取得するためのオブジェクトを表します。通常は、ユーザに情報の入力を求めることにより、認証を行います。

アプリケーションでこのクラスを使うには、サブクラスを作成し、SetDefault() を使ってシステムにサブクラスのインスタンスを登録します。認証が要求されると、システムはサブクラスのメソッド (getPasswordAuthentication など) を呼び出します。サブクラスのメソッドは、多数の継承されたメソッド (getRequesting で始まるメソッド) を使って、要求された認証について照会を行うことができます。そのあとで、ユーザに表示する適切なメッセージを形成できます。

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

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

コンストラクタの概要
Authenticator()
           
 
メソッドの概要
protected  PasswordAuthentication getPasswordAuthentication()
          パスワード認証が必要な場合に呼び出されます。
protected  int getRequestingPort()
          要求された接続に使うポート番号を取得します。
protected  String getRequestingPrompt()
          要求者が入力したプロンプト文字列を取得します。
protected  String getRequestingProtocol()
          接続を要求しているプロトコルを返します。
protected  String getRequestingScheme()
          要求者が使用している方式 (たとえば、HTTP ファイアウォールの場合は HTTP 方式)
protected  InetAddress getRequestingSite()
          許可を要求しているサイトの InetAddress を取得します。
static PasswordAuthentication requestPasswordAuthentication(InetAddress addr, int port, String protocol, String prompt, String scheme)
          システムに登録されているオーセンティケータに、パスワードを要求します。
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 サーバからオーセンティケータを要求されたときに、ネットワークコードが使います。現在のオーセンティケータとしてすでに設定されている Authenticator クラスがある場合は、何も行いません。引数が null であり、オーセンティケータが設定されていない場合は、何もしないでメソッドがそのまま復帰します。

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

通常、このメソッドは、システムの起動時に 1 回だけ呼び出されます。

パラメータ:
a - オーセンティケータ
例外:
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 - 接続を要求しているプロトコル (URL.getProtocol())
prompt - ユーザに表示されるプロンプト文字列
scheme - 認証方式
戻り値:
ユーザ名またはパスワード。取得できない場合は null
例外:
SecurityException - セキュリティマネージャが存在し、セキュリティマネージャの checkPermission メソッドが、パスワード認証要求を許可しない場合
関連項目:
SecurityManager.checkPermission(java.security.Permission), NetPermission

getRequestingSite

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

getRequestingPort

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

getRequestingProtocol

protected final String getRequestingProtocol()
接続を要求しているプロトコルを返します。多くの場合、プロトコルは URL を基にしています。しかし将来の SDK では、たとえば、パスワードで保護された 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

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.