Интерфейс SaslClientFactory
public interface SaslClientFactory
Интерфейс для создания экземпляров SaslClient. Класс, реализующий этот интерфейс, должен быть потокобезопасным и обрабатывать несколько одновременных запросов. Он также должен иметь публичный конструктор без аргументов.
К этому интерфейсу обычно не обращается напрямую клиент, который будет использовать статические методы Sasl вместо этого. Однако определенная среда может предоставить и установить новый или другой SaslClientFactory.
- С момента:
- 1.5
- См. также:
-
SaslClient,Sasl
Методы
| Модификатор и тип | Метод и описание |
|---|---|
SaslClient |
createSaslClient(String[] mechanisms,
String authorizationId,
String protocol,
String serverName,
Map<String,?> props,
CallbackHandler cbh) Создает SaslClient с использованием предоставленных параметров. |
String[] |
getMechanismNames(Map<String,?> props) Возвращает массив имён механизмов, соответствующих заданным политикам выбора механизма. |
Методы
createSaslClient
SaslClient createSaslClient(String[] mechanisms,
String authorizationId,
String protocol,
String serverName,
Map<String,?> props,
CallbackHandler cbh)
throws SaslException Создает SaslClient с использованием предоставленных параметров.
- Параметры:
-
mechanisms- Непустой список имён механизмов для попыток. Каждый из них — зарегистрированное IANA имя SASL механизма. (например, "GSSAPI", "CRAM-MD5"). -
authorizationId- Возможно нулевое идентификатор, зависящее от протокола, используемое для авторизации. Если null или пустое, сервер вычисляет идентификатор авторизации из учетных данных аутентификации клиента. После успешного завершения SASL аутентификации указанному субъекту предоставляется доступ. -
protocol- Непустая строка имени протокола, для которого выполняется аутентификация (например, "ldap"). -
serverName- Непустое полное имя хоста сервера, с которым выполняется аутентификация. -
props- Возможно нулевой набор свойств, используемых для выбора SASL механизма и для настройки обмена данными аутентификации выбранного механизма. См. классSaslдля списка стандартных свойств. Можно включить и другие, возможно, специфичные для механизма, свойства. Свойства, не относящиеся к выбранному механизму, игнорируются, включая любые элементы карты с ключами, отличными от String. -
cbh- Возможно нулевой обработчик обратных вызовов, используемый SASL механизмами для получения дополнительной информации от приложения/библиотеки для завершения аутентификации. Например, SASL механизм может потребовать от вызывающего объекта идентификатор аутентификации, пароль и область. Идентификатор аутентификации запрашивается с помощьюNameCallback. Пароль запрашивается с помощьюPasswordCallback. Область запрашивается с помощьюRealmChoiceCallback, если есть список областей для выбора, и с помощьюRealmCallback, если область должна быть введена. - Возвращает:
- Возможно нулевой
SaslClientсозданный с использованием предоставленных параметров. Если null, этот фабрика не может произвестиSaslClientс использованием предоставленных параметров. - Инициализация:
-
SaslException- Если не удаётся создатьSaslClientиз-за ошибки.
getMechanismNames
String[] getMechanismNames(Map<String,?> props)
Возвращает массив имён механизмов, соответствующих заданным политикам выбора механизма.
- Параметры:
-
props- Возможно нулевой набор свойств, используемых для указания политики безопасности SASL механизмов. Например, еслиpropsсодержит свойствоSasl.POLICY_NOPLAINTEXTсо значением"true", то фабрика не должна возвращать какие-либо SASL механизмы, уязвимые для простых пассивных атак. См. классSaslдля полного списка свойств политики. Свойства, не относящиеся к политике, если присутствуют вprops, игнорируются, включая любые элементы карты с ключами, отличными от String. - Возвращает:
- Непустой массив, содержащий имена зарегистрированных IANA SASL механизмов.
© 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.