软件包  javax.security.sasl

Interface SaslServerFactory


  • public interface SaslServerFactory
    用于创建SaslServer实例的SaslServer 实现此接口的类必须是线程安全的,并处理多个同时发出的请求。 它还必须有一个不接受参数的公共构造函数。

    通常不会由服务器直接访问此接口,而是使用Sasl静态方法。 但是,特定环境可能会提供并安装新的或不同的SaslServerFactory

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

      • createSaslServer

        SaslServer createSaslServer​(String mechanism,
                                    String protocol,
                                    String serverName,
                                    Map<String,​?> props,
                                    CallbackHandler cbh)
                             throws SaslException
        使用提供的参数创建SaslServer 如果不能使用提供的参数创建SaslServer ,则返回null。 抛出SaslException ,如果它不能创建一个SaslServer ,因为一个错误。
        参数
        mechanism - SASL机制的非空IANA注册名称。 (例如“GSSAPI”,“CRAM-MD5”)。
        protocol - 正在执行身份验证的协议的非空字符串名称(例如,“ldap”)。
        serverName - 要进行身份验证的服务器的标准主机名,如果服务器未绑定到任何特定主机名,则为null。 如果该机制不允许未绑定的服务器,则将抛出SaslException
        props - 可能为null的属性集,用于选择SASL机制和配置所选机制的身份验证交换。 有关标准属性的列表,请参见Sasl类。 可以包括其他可能特定于机制的属性。 忽略与所选机制无关的属性,包括具有非String键的任何映射条目。
        cbh - SASL机制用于从应用程序/库获取更多信息以完成身份验证的可能为null的回调处理程序。 例如,SASL机制可能需要来自调用者的身份验证ID,密码和域。 使用NameCallback请求身份验证ID。 使用PasswordCallback请求密码。 如果有可供选择的域列表,则使用RealmChoiceCallback请求域,如果必须输入RealmCallback则使用RealmCallback
        结果
        可能为null SaslServer使用提供的参数创建。 如果为null,则此工厂无法使用提供的参数生成SaslServer
        异常
        SaslException - 如果由于错误而无法创建 SaslServer
      • getMechanismNames

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