JavaTM Platform
Standard Ed. 6

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 - 設定されるオーセンティケータ。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 が返されます。

戻り値:
認証を要求している接続のホスト名。 InetAddress が使用できない場合は 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 Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

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