Интерфейс 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) |
Создаёт |
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