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);
            }
        }
    }
  • 相关阅读:
    ApkTool动态打包
    Android
    hi3531 SDK 编译 uboot, 改动PHY地址, 改动 uboot 參数 .
    Unityclient通信測试问题处理(二)
    LIVE555研究之三:LIVE555基础
    【Unity Shaders】使用CgInclude让你的Shader模块化——创建CgInclude文件存储光照模型
    deep-learning-frameworks
    Upgrade R (升级R语言)
    Upgrade Bioconductor
    linux 中 ll 命令如何让查询结果按时间升序或降序排序?
  • 原文地址:https://www.cnblogs.com/azhqiang/p/4250213.html
Copyright © 2011-2022 走看看