Java 检索LDAP服务器类型

Java 检索LDAP服务器类型,java,ldap,Java,Ldap,我想知道是否有方法检索连接的ldap服务器类型(openldap或active directory) 下面是我的连接方法 public DirContext ldapUserConnect(String serverUrl, int serverPort, String serverType, String userDn, String userPassword, boolean binaryAttribute) throws NamingException { // c

我想知道是否有方法检索连接的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;
    }
}
public DirContext ldapUserConnect(字符串serverUrl、int serverPort、字符串serverType、字符串userDn、,
字符串userPassword,布尔二进制属性)引发NamingException{
//使用ldap_服务器表数据连接到ldap服务器
if((userDn!=null&&!userDn.isEmpty())| |(userPassword!=null&&!userPassword.isEmpty()){
Map environment=GetLdapenEnvironment(服务器URL、服务器端口、服务器类型、二进制属性);
//连接用户帐户
put(javax.naming.Context.SECURITY_PRINCIPAL,userDn);
put(javax.naming.Context.SECURITY_凭证、用户密码);
返回新的InitialDirContext((哈希表)环境);
}否则{
返回null;
}
}

一般方法是检查
rootDSE
条目;但是,不能保证所有LDAP服务器供应商都支持此方法。提供对几种LDAP“风格”的描述,并确定其供应商名称/版本