软件包  javax.security.sasl

Interface SaslClientFactory



  • public interface SaslClientFactory
    用于创建SaslClient实例的SaslClient 实现此接口的类必须是线程安全的并且可以处理多个同时发送的请求。 它也必须有一个不接受参数的公共构造函数。

    这个接口通常不被客户端直接访问,这将使用Sasl静态方法。 但是,特定环境可能会提供和安装新的或不同的SaslClientFactory

    从以下版本开始:
    1.5
    另请参见:
    SaslClientSasl
    • 方法详细信息

      • createSaslClient

        SaslClient createSaslClient​(String[] mechanisms,
                                    String authorizationId,
                                    String protocol,
                                    String serverName,
                                    Map<String,?> props,
                                    CallbackHandler cbh)
                             throws SaslException
        使用提供的参数创建SaslClient。
        参数
        mechanisms - 要尝试的机制名称的非空列表。 每个都是SASA机制的IANA注册名称。 (例如“GSSAPI”,“CRAM-MD5”)。
        authorizationId - 用于授权的可能无效的协议相关标识。 如果为空或为空,则服务器从客户端的身份验证凭据中导出授权标识。 当SASL认证成功完成时,指定的实体被授予访问权限。
        protocol - 正在执行身份验证的协议的非空字符串名称(例如,“ldap”)。
        serverName - 要验证的服务器的非空标准主机名。
        props - 用于选择SASL机制并配置所选机制的认证交换的可能的props 有关标准属性的列表,请参阅Sasl类。 可以包括其他可能机制特定的属性。 与所选机制无关的属性将被忽略,包括具有非String键的任何地图条目。
        cbh - SASL机制使用的可能的空回调处理程序,以从应用程序/库获取进一步的信息来完成身份验证。 例如,SASL机制可能需要来自呼叫者的身份验证ID,密码和领域。 使用NameCallback请求认证ID。 使用PasswordCallback请求密码。 该领域是通过使用要求RealmChoiceCallback ,如果有选择,领域列表,并通过使用RealmCallback如果必须输入领域。
        结果
        使用提供的参数创建可能为空的SaslClient 如果为null,则此工厂不能使用提供的参数生成SaslClient
        异常
        SaslException - 如果由于错误而无法创建 SaslClient
      • getMechanismNames

        String[] getMechanismNames​(Map<String,?> props)
        返回与指定的机制选择策略匹配的机制名称数组。
        参数
        props - 用于指定SASL机制的安全策略的可能的空属性集。 例如,如果props包含Sasl.POLICY_NOPLAINTEXT属性值为"true" ,则工厂不得返回任何易受简单的被动攻击的SASL机制。 有关策略属性的完整列表,请参阅Sasl类。 非政策相关属性(如果存在于props )将被忽略,包括具有非字符串键的任何映射条目。
        结果
        包含IANA注册的SASL机制名称的非空数组。