Интерфейс SaslClientFactory

public interface SaslClientFactory

Интерфейс для создания экземпляров SaslClient. Класс, реализующий этот интерфейс, должен быть потокобезопасным и обрабатывать несколько одновременных запросов. Он также должен иметь публичный конструктор, не принимающий аргументов.

К этому интерфейсу клиент обычно не обращается напрямую, вместо этого он использует статические методы Sasl. Однако определенная среда может предоставить и установить новый или другой SaslClientFactory.

Since:
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. Можно также включить другие, возможно, специфичные для механизма свойства. Свойства, не относящиеся к выбранному механизму, игнорируются, включая любые элементы карты с ключами, не являющимися строками.
cbh - Возможно нулевой обработчик обращений, используемый механизмами SASL для получения дополнительной информации из приложения/библиотеки для завершения аутентификации. Например, механизм SASL может потребовать идентификатор аутентификации, пароль и область от вызывающей стороны. Идентификатор аутентификации запрашивается с помощью NameCallback. Пароль запрашивается с помощью PasswordCallback. Область запрашивается с помощью RealmChoiceCallback, если есть список областей для выбора, и с помощью RealmCallback, если область должна быть введена.
Возвращает:
Возможный null SaslClient созданный с использованием предоставленных параметров. Если null, этот фабричный класс не может создать SaslClient с использованием предоставленных параметров.
Исключения:
SaslException - Если невозможно создать SaslClient из-за ошибки.

getMechanismNames

String[] getMechanismNames(Map<String,​?> props)

Возвращает массив имён механизмов, соответствующих заданным политикам выбора механизма.

Параметры:
props - Возможно нулевой набор свойств, используемых для указания политики безопасности механизмов SASL. Например, если props содержит свойство Sasl.POLICY_NOPLAINTEXT со значением "true", фабричный класс не должен возвращать механизмы SASL, уязвимые к простым пассивным атакам. Полный список свойств политики см. в классе Sasl. Свойства, не относящиеся к политике, если присутствуют в props, игнорируются, включая любые элементы карты с ключами, не являющимися строками.
Возвращает:
Непустой массив, содержащий зарегистрированные в 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.security.sasl/javax/security/sasl/SaslClientFactory.html

Spec-Zone .ru
спецификации, руководства, описания, API