-
public interface SaslClientFactory
用于创建SaslClient
实例的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
- 要进行身份验证的服务器的非null标准主机名。 -
props
- 可能为null的属性集,用于选择SASL机制和配置所选机制的身份验证交换。 有关标准属性的列表,请参见Sasl
类。 可以包括其他可能特定于机制的属性。 忽略与所选机制无关的属性,包括具有非String键的任何映射条目。 -
cbh
- SASL机制用于从应用程序/库获取更多信息以完成身份验证的可能为null的回调处理程序。 例如,SASL机制可能需要来自调用者的身份验证ID,密码和域。 使用NameCallback
请求身份验证ID。 使用PasswordCallback
请求密码。 如果有可供选择的域列表,则使用RealmChoiceCallback
请求域,如果必须输入RealmCallback
则使用RealmCallback
。 - 结果
- 可能为null
SaslClient
使用提供的参数创建。 如果为null,则此工厂无法使用提供的参数生成SaslClient
。 - 异常
-
SaslException
- 如果由于错误而无法创建SaslClient
。
-
getMechanismNames
String[] getMechanismNames(Map<String,?> props)
返回与指定的机制选择策略匹配的机制名称数组。- 参数
-
props
- 可能为null的属性集,用于指定SASL机制的安全策略。 例如,如果props
包含值为"true"
的Sasl.POLICY_NOPLAINTEXT
属性,则工厂不得返回任何易受简单普通被动攻击影响的SASL机制。 有关策略属性的完整列表,请参阅Sasl
类。 非策略相关属性(如果存在于props
)将被忽略,包括具有非String键的任何映射条目。 - 结果
- 包含IANA注册的SASL机制名称的非null数组。
-
-