Интерфейс SaslServerFactory

public interface SaslServerFactory

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

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

Since:
1.5
См. также:
SaslServer, Sasl

Методы

Модификатор и тип Метод Описание
SaslServer createSaslServer​(String mechanism, String protocol, String serverName, Map<String,​?> props, CallbackHandler cbh)

Создаёт SaslServer с использованием предоставленных параметров.

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

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

Методы

createSaslServer

SaslServer createSaslServer(String mechanism,
                            String protocol,
                            String serverName,
                            Map<String,​?> props,
                            CallbackHandler cbh)
                     throws SaslException

Создаёт SaslServer с использованием предоставленных параметров. Возвращает null, если SaslServer не может быть создан с использованием предоставленных параметров. Бросает SaslException в случае ошибки создания SaslServer.

Параметры:
mechanism - Непустое зарегистрированное в IANA имя SASL-механизма (например, "GSSAPI", "CRAM-MD5").
protocol - Непустое строковое имя протокола, для которого выполняется аутентификация (например, "ldap").
serverName - Полное доменное имя сервера, с которым выполняется аутентификация, или null, если сервер не привязан к какому-либо конкретному имени хоста. Если механизм не допускает не привязанного сервера, будет брошено исключение SaslException.
props - Возможно нулевой набор свойств, используемых для выбора SASL-механизма и настройки обмена данными аутентификации выбранного механизма. См. класс Sasl для списка стандартных свойств. Можно включить и другие, возможно, зависящие от механизма, свойства. Свойства, не относящиеся к выбранному механизму, игнорируются, включая любые элементы карты с ключами, отличными от String.
cbh - Возможно нулевой обработчик обращений, используемый SASL-механизмами для получения дополнительной информации от приложения/библиотеки для завершения аутентификации. Например, SASL-механизм может потребовать идентификатор аутентификации, пароль и область от вызывающего объекта. Идентификатор аутентификации запрашивается с помощью NameCallback. Пароль запрашивается с помощью PasswordCallback. Область запрашивается с помощью RealmChoiceCallback, если есть список областей для выбора, и с помощью RealmCallback, если область необходимо ввести.
Возвращает:
Возможный SaslServer, созданный с использованием предоставленных параметров. Если null, эта фабрика не может создать SaslServer с использованием предоставленных параметров.
Бросает:
SaslException - Если не удаётся создать SaslServer из-за ошибки.

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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.security.sasl/javax/security/sasl/SaslServerFactory.html

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