使用Java查找简单的Active Directory信息

使用Java查找简单的Active Directory信息,第1张

使用Java查找简单的Active Directory信息

如果您正在寻找完整的Java GUI来查询Active-Directory,则可以看看Apache Directory
Studio

如果您只想使用Java查询AD,下面是一个示例代码:

class TestAD {   static DirContext ldapContext;   public static void main (String[] args) throws NamingException   {     try     {       System.out.println("Début du test Active Directory");      Hashtable<String, String> ldapEnv = new Hashtable<String, String>(11);       ldapEnv.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");       //ldapEnv.put(Context.PROVIDER_URL,  "ldap://societe.fr:389");       ldapEnv.put(Context.PROVIDER_URL,  "ldap://dom.fr:389");       ldapEnv.put(Context.SECURITY_AUTHENTICATION, "simple");       //ldapEnv.put(Context.SECURITY_PRINCIPAL, "cn=administrateur,cn=users,dc=societe,dc=fr");       ldapEnv.put(Context.SECURITY_PRINCIPAL, "cn=jean paul blanc,ou=MonOu,dc=dom,dc=fr");       ldapEnv.put(Context.SECURITY_CREDENTIALS, "pwd");       //ldapEnv.put(Context.SECURITY_PROTOCOL, "ssl");       //ldapEnv.put(Context.SECURITY_PROTOCOL, "simple");       ldapContext = new InitialDirContext(ldapEnv);      // Create the search controls     SearchControls searchCtls = new SearchControls();      //Specify the attributes to return       String returnedAtts[]={"sn","givenName", "samAccountName"};       searchCtls.setReturningAttributes(returnedAtts);      //Specify the search scope       searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);      //specify the LDAP search filter       String searchFilter = "(&(objectClass=user))";      //Specify the base for the search       String searchbase = "dc=dom,dc=fr";       //initialize counter to total the results       int totalResults = 0;      // Search for objects using the filter       NamingEnumeration<SearchResult> answer = ldapContext.search(searchbase, searchFilter, searchCtls);      //Loop through the search results       while (answer.hasMoreElements())       {         SearchResult sr = (SearchResult)answer.next();        totalResults++;        System.out.println(">>>" + sr.getName());         Attributes attrs = sr.getAttributes();         System.out.println(">>>>>>" + attrs.get("samAccountName"));       }      System.out.println("Total results: " + totalResults);       ldapContext.close();     }     catch (Exception e)     {       System.out.println(" Search error: " + e);       e.printStackTrace();       System.exit(-1);     }   } }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5428839.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存