public interface SaslServerFactory
SaslServer
。
实现此接口的类必须是线程安全的并且可以处理多个同时发送的请求。
它也必须有一个不接受参数的公共构造函数。
该接口通常不被服务器直接访问,这将使用Sasl
静态方法。 但是,特定的环境可以提供和安装新的或不同的SaslServerFactory
。
SaslServer
, Sasl
Modifier and Type | Method and Description |
---|---|
SaslServer |
createSaslServer(String mechanism, String protocol, String serverName, Map<String,?> props, CallbackHandler cbh)
创建
SaslServer 使用所提供的参数。
|
String[] |
getMechanismNames(Map<String,?> props)
返回与指定的机制选择策略匹配的机制名称数组。
|
SaslServer createSaslServer(String mechanism, String protocol, String serverName, Map<String,?> props, CallbackHandler cbh) throws SaslException
SaslServer
使用所提供的参数。
如果不能使用提供的参数创建SaslServer
,则返回null。
如果由于错误而无法创建SaslServer
,则抛出SaslException
。
mechanism
- mechanism
的非空IANA注册名称。
(例如“GSSAPI”,“CRAM-MD5”)。
protocol
- 执行身份验证的协议的非空字符串名称(例如,“ldap”)。
serverName
- 要验证的服务器的标准主机名,如果服务器未绑定到任何特定主机名,则为空。
如果机制不允许未绑定的服务器,则会抛出SaslException
。
props
- 用于选择SASL机制并配置所选机制的认证交换的可能的空属性集。
有关标准属性的列表,请参阅Sasl
类。
可以包括其他可能机制特定的属性。
与所选机制无关的属性将被忽略,包括具有非String键的任何地图条目。
cbh
- SASL机制使用的可能的空回调处理程序,以从应用程序/库获取进一步的信息来完成认证。
例如,SASL机制可能需要来自呼叫者的身份验证ID,密码和领域。
认证ID是通过使用所请求的NameCallback
。
使用PasswordCallback
密码。
该领域是通过使用要求RealmChoiceCallback
,如果有选择,领域列表,并通过使用RealmCallback
如果必须输入领域。
SaslServer
创建可能为null的SaslServer。
如果为null,则此工厂无法生产SaslServer
使用提供的参数。
SaslException
- 如果由于错误而无法创建
SaslServer
。