检索LDAP服务器类型

时间:2017-03-16 14:11:49

标签: java ldap

我想知道是否有办法检索连接的ldap服务器类型(openldap或active directory)

这是我的连接方法

public DirContext ldapUserConnect(String serverUrl, int serverPort, String serverType, String userDn,
        String userPassword, boolean binaryAttribute) throws NamingException {
    // connect to ldap server using ldap_server table data

    if ((userDn != null && !userDn.isEmpty()) || (userPassword != null && !userPassword.isEmpty())) {
        Map<String, String> environment = getLdapEnvironement(serverUrl, serverPort, serverType, binaryAttribute);
        // connect with user account
        environment.put(javax.naming.Context.SECURITY_PRINCIPAL, userDn);
        environment.put(javax.naming.Context.SECURITY_CREDENTIALS, userPassword);
        return new InitialDirContext((Hashtable<String, String>) environment);
    } else {
        return null;
    }
}

1 个答案:

答案 0 :(得分:1)

一般方法是检查rootDSE条目;但是,无法保证所有LDAP服务器供应商都支持此方法。 Determine LDAP Server Vendor提供了几个LDAP“风格”的描述并确定了它们的供应商名称/版本。