gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 15:38:11 28 4
gpt4 key购买 nike

我正在尝试与广告联系。我尝试使用此代码进行连接,但似乎根本没有连接。很抱歉,我无法提供比这更具体的信息,但这仅仅是我所知道的。什么都没发生。我已经删除了我认为是该类中非必要部分的内容,因为在该点上没有结果可以处理。我在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时,您需要调用new InitialContext()才能真正创建上下文。之后,您可能必须在该上下文上调用方法以使某些事情发生。

因此,在LDAP上下文的情况下,您将需要以下内容:

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

关于java - Java:是否连接到Active Directory(AD)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8539432/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com