Интерфейс 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