关于AD 域同步组织架构信息 问题

问题描述

关于实时同步 AD域中组织架构信息

问题出现的环境背景及自己尝试过哪些方法

我尝试过一些网上的方案,但是并不能得到满意的效果。

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

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);
        }
    }
}

你期待的结果是什么?实际看到的错误信息又是什么?

我希望有做过的小伙伴能够提供思路,有相关源码地址是最好的。

再尝试了后,出现了以下报错信息:
LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1

阅读 3.8k
1 个回答

80090308: LdapErr: DSID-0C09030B, comment: AcceptSecurityContext error, data 52e, v893
十六进制: 0x52e - 无效的凭证
十进制: 1326 - ERROR_LOGON_FAILURE (登录失败,未知的用户名或者密码错误.)
注释: 当用户名有效但是密码或者凭证无效的时候返回。

是我的账户密码错误导致的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题