active-directory - 使用匿名绑定(bind)进行事件目录搜索

标签 active-directory jndi

我有一段代码,在绑定(bind)操作后在事件目录服务器上执行搜索。我使用 LDAP 协议(protocol)进行绑定(bind),我的代码如下所示:

    env.put(Context.INITIAL_CONTEXT_FACTORY,
            "com.sun.jndi.ldap.LdapCtxFactory");

    env.put(Context.SECURITY_AUTHENTICATION, "none");
    env.put("com.sun.jndi.ldap.read.timeout", "9000");
    env.put("com.sun.jndi.ldap.connect.timeout", "9000");

            env.put(Context.PROVIDER_URL, "ldap://" + "nec.jp");
            DirContext ctx = new InitialDirContext(env);
            NamingEnumeration<SearchResult> answer = ctx.search(
                        searchBase, searchFilter, searchCtls);
        if (answer.hasMore())
           {
                    env.put(Context.SECURITY_PRINCIPAL, principalNameres);
                    env.put(Context.SECURITY_CREDENTIALS, userPasswd);
                    env.put(Context.SECURITY_AUTHENTICATION, "simple");
                    final DirContext ctxForSerachedResult = new InitialDirContext(
                            env);
                    ctxForSerachedResult.close();

          }

我的问题是配置 AD 服务器以使用匿名登录用户执行搜索。

根据目前的理解,可以通过执行以下显示的步骤来启用匿名:

a.通过更改 DsHeuristics 属性值启用匿名 LDAP 操作。

b.提供读取目录的权限。

引用链接:

我尝试使用 LDP.exe 匿名登录绑定(bind)来批准 Active Directory 设置成功,如下图所示:

但是搜索操作仍然无法按预期工作。

请指出我哪里出错了。

最佳答案

您显然只显示了您的部分片段,并且您不分享不起作用的内容。

你在期待什么。

我们确实有一个 sample for JNDI即使它不是匿名绑定(bind),这也可能有所帮助。

关于active-directory - 使用匿名绑定(bind)进行事件目录搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14208540/

相关文章:

active-directory - LDAP 从搜索中排除子 OU

c# - 应用程序如何验证来自 Azure Active Directory 的经过身份验证的 token ?

java - JBoss下链式MySQL语句

asp.net - ASP.NET 中的 Windows 身份验证模式使用 Active Directory 组名(Windows 2000 之前)?

java - 尝试在 Active Directory 中使用 spring-data-ldap

php - 如何使用 LDAP 和 PHP 从 Active Directory 安全组中检索用户信息

java - 如何确保来自 JNDI 的 LDAP 连接通过 SSL

Java JNDI 内部结构

spring - Liferay 服务构建器 JNDI 查找使用了错误的命名上下文

java - 从独立客户端查找远程 EJB 时出现断言错误 "Context may not be null"