zoukankan      html  css  js  c++  java
  • Java使用LdAP获取AD域用户

    /**
     * @Description: 
     *
     * @Title: LdAPTest.java
     * @Package com.joyce.itext.main
     * @Copyright: Copyright (c) 2014
     *
     * @author Comsys-LZP
     * @date 2014-8-7 上午10:20:22
     * @version V2.0
     */
    package com.joyce.itext.main;
    
    import java.util.Properties;
    
    import javax.naming.Context;
    import javax.naming.NamingEnumeration;
    import javax.naming.NamingException;
    import javax.naming.directory.SearchControls;
    import javax.naming.directory.SearchResult;
    import javax.naming.ldap.InitialLdapContext;
    import javax.naming.ldap.LdapContext;
    
    /**
     * @Description:拉取AD域账户*/
    public class LdAPTest {
        public static void main(String[] args) {
            Properties env = new Properties();
            String adminName = "administrator@2003.com";//username@domain
            String adminPassword = "admin";//password
            String ldapURL = "LDAP://10.10.2.153:389";//ip:port
            env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
            env.put(Context.SECURITY_AUTHENTICATION, "simple");//"none","simple","strong"
            env.put(Context.SECURITY_PRINCIPAL, adminName);
            env.put(Context.SECURITY_CREDENTIALS, adminPassword);
            env.put(Context.PROVIDER_URL, ldapURL);
            try {
                LdapContext ctx = new InitialLdapContext(env, null);
                SearchControls searchCtls = new SearchControls();
                searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
                String searchFilter = "(&(objectCategory=person)(objectClass=user)(name=*))";
                String searchBase = "DC=2003,DC=com";
                String returnedAtts[] = {"memberOf"};
                searchCtls.setReturningAttributes(returnedAtts);
                NamingEnumeration<SearchResult> answer = ctx.search(searchBase, searchFilter,searchCtls);
                while (answer.hasMoreElements()) {
                    SearchResult sr = (SearchResult) answer.next();
                    System.out.println("<<<::[" + sr.getName()+"]::>>>>");
                }
                ctx.close();
            }catch (NamingException e) {
                e.printStackTrace();
                System.err.println("Problem searching directory: " + e);
            }
        }
    }
  • 相关阅读:
    Java通过socket和DTU,RTU连接工业传感器通信
    没有远程桌面授权服务器可以提供许可证 相关,注册表项获得权限方法
    freertos内存pvPortMalloc 和 malloc 区别 ,以及全局变量占用情况
    自学it吧论坛
    安全学习地址
    服务器zfs文件系统修复过程记录
    第1年10月11日 android canvas
    第1年10月9日 swiftui
    第1年9月28日 Android 4.4以后,浏览器内核采用的chromium,可以支持webrtc
    第1年9月19日 ios librtmp
  • 原文地址:https://www.cnblogs.com/azhqiang/p/4250213.html
Copyright © 2011-2022 走看看