通过JAVA代码

时间:2015-04-22 12:21:04

标签: java ldap connection

我在Windows Server 2012 R2上配置了ADDC,我在DC中添加了两个用户 - 一个是Windows 8,另一个是ubuntu。

  • Windows server 2012用户名 - DC
  • Windows 8.1用户名 - Win
  • Ubuntu用户名 - Linux

我正在努力实现这一点 - 我想在ubuntu中编写java程序,它将连接到ADDC并发送回来,在Windows 8.1上提供详细的用户信息

我的程序就像 -

import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;

public class LdapSearch {
public static void main(String[] args) throws Exception {
Hashtable env = new Hashtable();

String sp = "com.sun.jndi.ldap.LdapCtxFactory";
env.put(Context.INITIAL_CONTEXT_FACTORY, sp);

String ldapUrl = "ldap://server.com, dc=com";
env.put(Context.PROVIDER_URL, ldapUrl);

DirContext dctx = new InitialDirContext(env);

String base = "ou=name";

SearchControls sc = new SearchControls();
String[] attributeFilter = { "cn", "mail" };
sc.setReturningAttributes(attributeFilter);
sc.setSearchScope(SearchControls.SUBTREE_SCOPE);

String filter = "(&(sn=W*)(l=Criteria*))";

NamingEnumeration results = dctx.search(base, filter, sc);
while (results.hasMore()) {
  SearchResult sr = (SearchResult) results.next();
  Attributes attrs = sr.getAttributes();

  Attribute attr = attrs.get("cn");
  System.out.print(attr.get() + ": ");
  attr = attrs.get("mail");
  System.out.println(attr.get());
}
dctx.close();
}

我指的是上面的程序,试图通过LDAP java实现与AD的连接。我不知道如何获得oucn等。我对LDAP,ADDC的概念非常陌生。

对此有何想法?请告诉我。

谢谢, SAURABH

0 个答案:

没有答案