Класс Authenticator
- java.lang.Object
-
- java.net.Authenticator
public abstract class Authenticator extends Object
Класс Authenticator представляет объект, знающий, как получить аутентификацию для сетевого подключения. Обычно он делает это, запрашивая информацию у пользователя.
Приложения используют этот класс, переопределяя getPasswordAuthentication() в подклассе. Этот метод обычно использует различные методы доступа getXXX() для получения информации о сущности, запрашивающей аутентификацию. Затем он должен получить имя пользователя и пароль, либо взаимодействуя с пользователем, либо каким-либо другим неинтерактивным способом. Данные авторизации возвращаются в качестве значения возврата PasswordAuthentication.
Экземпляр этого конкретного подкласса затем регистрируется в системе вызовом setDefault(Authenticator). При необходимости аутентификации система вызовет один из методов requestPasswordAuthentication(), который, в свою очередь, вызовет метод getPasswordAuthentication() зарегистрированного объекта.
Все методы, запрашивающие аутентификацию, имеют реализацию по умолчанию, которая завершается неудачей.
- Since:
- 1.2
- См. также:
-
setDefault(java.net.Authenticator),getPasswordAuthentication()
Вложенные классы
| Модификатор и тип | Класс | Описание |
|---|---|---|
static class | Authenticator.RequestorType | Тип сущности, запрашивающей аутентификацию. |
Конструкторы
| Конструктор | Описание |
|---|---|
Authenticator() |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
static Authenticator | getDefault() | Получает дефолтный аутентификатор. |
protected PasswordAuthentication | getPasswordAuthentication() | Вызывается при необходимости проверки пароля. |
protected String | getRequestingHost() | Получает |
protected int | getRequestingPort() | Получает номер порта для запрошенного подключения. |
protected String | getRequestingPrompt() | Получает строку запроса, предоставленную запрашивающим. |
protected String | getRequestingProtocol() | Указывает протокол, запрашивающий соединение. |
protected String | getRequestingScheme() | Получает схему запрашивающего (например, схему HTTP для HTTP-брандмауэра). |
protected InetAddress | getRequestingSite() | Получает |
protected URL | getRequestingURL() | Возвращает URL, который привел к этому запросу на аутентификацию. |
protected Authenticator.RequestorType | getRequestorType() | Возвращает, является ли запрашивающий прокси-сервером или сервером. |
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 PasswordAuthentication | requestPasswordAuthentication(Authenticator authenticator,
String host,
InetAddress addr,
int port,
String protocol,
String prompt,
String scheme,
URL url,
Authenticator.RequestorType reqType) | Запрашивает у данного |
static PasswordAuthentication | requestPasswordAuthentication(InetAddress addr,
int port,
String protocol,
String prompt,
String scheme) | Запрашивает у зарегистрированного в системе аутентификатора пароль. |
PasswordAuthentication | requestPasswordAuthenticationInstance(String host,
InetAddress addr,
int port,
String protocol,
String prompt,
String scheme,
URL url,
Authenticator.RequestorType reqType) | Запрашивает пароль у этого аутентификатора. |
static void | setDefault(Authenticator a) | Устанавливает аутентификатор, который будет использоваться сетевым кодом, когда прокси или HTTP-сервер запрашивают аутентификацию. |
Методы, унаследованные от класса 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
getDefault
public static Authenticator getDefault()
Получает аутентификатор по умолчанию. В первую очередь, если существует менеджер безопасности, вызывается его метод checkPermission с разрешением NetPermission("requestPasswordAuthentication"). Это может привести к исключению java.lang.SecurityException. Затем возвращается аутентификатор по умолчанию, если он установлен. В противном случае, возвращается null.
- Возвращает:
- Аутентификатор по умолчанию, если установлен,
nullв противном случае. - Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckPermissionне разрешает запрос аутентификации пароля. - С тех пор:
- 9
- См. также:
-
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 сайта, запрашивающего авторизацию, или 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 сайта, запрашивающего аутентификацию, или 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 сайта, запрашивающего авторизацию, или null, если не известен. -
port- порт для запрошенного подключения -
protocol- Протокол, запрашивающий подключение (getRequestingProtocol()) -
prompt- Строка запроса для пользователя -
scheme- Схема аутентификации -
url- Запрашиваемый URL, вызвавший аутентификацию -
reqType- Тип сущности (сервер или прокси), запрашивающей аутентификацию. - Возвращает:
- Имя пользователя/пароль или null, если не удалось получить.
- Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckPermissionне разрешает запрос аутентификации пароля. - С тех пор:
- 1.5
- См. также:
-
SecurityManager.checkPermission(java.security.Permission),NetPermission
requestPasswordAuthentication
public static PasswordAuthentication requestPasswordAuthentication(Authenticator authenticator,
String host,
InetAddress addr,
int port,
String protocol,
String prompt,
String scheme,
URL url,
Authenticator.RequestorType reqType) Запрашивает у заданного authenticator пароль. Если заданный authenticator равен null, используется аутентификатор, если таковой зарегистрирован в системе с помощью setDefault.
В первую очередь, если существует менеджер безопасности, вызывается его метод checkPermission с разрешением NetPermission("requestPasswordAuthentication"). Это может привести к исключению java.lang.SecurityException.
- Параметры:
-
authenticator- аутентификатор илиnull. -
host- Имя хоста сайта, запрашивающего аутентификацию. -
addr- InetAddress сайта, запрашивающего авторизацию, или null, если не известен. -
port- порт для запрошенного подключения -
protocol- Протокол, запрашивающий подключение (getRequestingProtocol()) -
prompt- Строка запроса для пользователя -
scheme- Схема аутентификации -
url- Запрашиваемый URL, вызвавший аутентификацию -
reqType- Тип сущности (сервер или прокси), запрашивающей аутентификацию. - Возвращает:
- Имя пользователя/пароль или
null, если не удалось получить. - Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckPermissionне разрешает запрос аутентификации пароля. - С тех пор:
- 9
- См. также:
-
SecurityManager.checkPermission(java.security.Permission),NetPermission
requestPasswordAuthenticationInstance
public PasswordAuthentication requestPasswordAuthenticationInstance(String host,
InetAddress addr,
int port,
String protocol,
String prompt,
String scheme,
URL url,
Authenticator.RequestorType reqType) Запрашивает у этого аутентификатора пароль.
- Параметры:
-
host- Имя хоста сайта, запрашивающего аутентификацию. -
addr- InetAddress сайта, запрашивающего авторизацию, или null, если не известен. -
port- порт для запрошенного подключения -
protocol- Протокол, запрашивающий подключение (getRequestingProtocol()) -
prompt- Строка запроса для пользователя -
scheme- Схема аутентификации -
url- Запрашиваемый URL, вызвавший аутентификацию -
reqType- Тип сущности (сервер или прокси), запрашивающей аутентификацию. - Возвращает:
- Имя пользователя/пароль или null, если не удалось получить
- С тех пор:
- 9
getRequestingHost
protected final String getRequestingHost()
Получает имя hostname сайта или прокси, запрашивающего аутентификацию, или null , если оно недоступно.
- Возвращает:
- имя хоста подключения, требующего аутентификации, или null, если оно недоступно.
- С тех пор:
- 1.4
getRequestingSite
protected final InetAddress getRequestingSite()
Получает InetAddress сайта, запрашивающего авторизацию, или null , если он недоступен.
- Возвращает:
- InetAddress сайта, запрашивающего авторизацию, или null, если он недоступен.
getRequestingPort
protected final int getRequestingPort()
Получает номер порта для запрошенного подключения.
- Возвращает:
- значение, указывающее порт для запрошенного подключения.
getRequestingProtocol
protected final String getRequestingProtocol()
Возвращает протокол, запрашивающий подключение. Часто он основан на URL, но в будущих JDK может быть, например, «SOCKS» для защищенного паролем шлюза SOCKS5.
- Возвращает:
- протокол, необязательно с добавлением «/version», где 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
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/Authenticator.html