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

发布于 2022-09-11 21:58:44 字数 2372 浏览 15 评论 0

问题描述

关于实时同步 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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

决绝 2022-09-18 21:58:44

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文