Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:是否连接到Active Directory(AD)?_Java_Active Directory_Connect - Fatal编程技术网

Java:是否连接到Active Directory(AD)?

Java:是否连接到Active Directory(AD)?,java,active-directory,connect,Java,Active Directory,Connect,我正在尝试联系一个广告。我曾尝试使用此代码进行连接,但它似乎根本无法连接。我很抱歉不能说得比这更具体,但我只知道这些。什么也没发生。我已经删除了这个类中我认为不重要的部分,在这里处理结果,因为在这一点上根本没有任何结果需要处理。我在Netbeans中没有发现任何错误,但是。。当我尝试连接时,什么都没有发生 发生什么事了?我做错了什么 import javax.naming.Context; import javax.naming.NamingEnumeration; import javax

我正在尝试联系一个广告。我曾尝试使用此代码进行连接,但它似乎根本无法连接。我很抱歉不能说得比这更具体,但我只知道这些。什么也没发生。我已经删除了这个类中我认为不重要的部分,在这里处理结果,因为在这一点上根本没有任何结果需要处理。我在Netbeans中没有发现任何错误,但是。。当我尝试连接时,什么都没有发生

发生什么事了?我做错了什么

import javax.naming.Context; 
import javax.naming.NamingEnumeration; 
import javax.naming.directory.*;
import java.util.Hashtable;
import java.util.*;

public class AD { 

    public static void main(String[] args) { 
        String userName = "xx"; //AD username
        String password = "xx"; //AD password
        Hashtable env = new Hashtable();
        env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
        env.put(Context.PROVIDER_URL, "ldap://192.168.1.102:389/dc=agileworks,dc=com"); //AD Server URL - dc lader til at være "domain content"
        //env.put(Context.SECURITY_AUTHENTICATION, "simple"); //virker ikke nødvendig
                //env.put(Context.SECURITY_PRINCIPAL, new String("agileworks" + "\\" + userName));
        env.put(Context.SECURITY_PRINCIPAL, "agileworks" + "\\" + userName); //måske er tabelnavn\\ ikke nødvendig?
        env.put(Context.SECURITY_CREDENTIALS, password); //password

        DirContext ctx = null; //initialisering
        NamingEnumeration results = null; //initialisering

    }
} 
您需要创建一个上下文,而不仅仅是变量。基本上,只需将一些数据放入哈希表即可

我并不特别了解LDAP,但是使用JNDI,您需要调用
newinitialcontext()
,以便实际创建上下文。在此之后,您可能必须在该上下文上调用一个方法才能使某些事情发生

因此,在LDAP上下文中,您需要以下内容:

DirContext ctx = new InitialLdapContext(env, new Control[0]); 
NamingEnumeration results = ctx.search(....);
提到