小编use*_*647的帖子

javax.naming.NameNotFoundException: [LDAP: 错误代码 32 - 没有这样的对象]; 剩余名称 'dc=server,dc=lan,cn=admin'

我是 LDAP 的新手,正在尝试使用它进行身份验证。但我不断收到此错误:连接成功。

[LDAP: error code 32 - No Such Object]
javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such Object]; remaining name 'dc=server,dc=lan,cn=admin'
    at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3112)
    at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3033)
    at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2840)
    at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1849)
    at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1772)
    at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:386)
    at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:356)
    at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:339)
    at javax.naming.directory.InitialDirContext.search(InitialDirContext.java:267)
    at ldap.Fedora.one(Fedora.java:104)
    at ldap.Fedora.main(Fedora.java:67)
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止到达的地方:

    Hashtable<String, Object> env = new Hashtable<String, Object>();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
    env.put(Context.PROVIDER_URL, "ldap://localhost:389/dc=server,dc=lan");
    env.put(Context.SECURITY_AUTHENTICATION, "simple");
    env.put(Context.SECURITY_PRINCIPAL, "cn=admin,dc=server,dc=world");
    env.put(Context.SECURITY_CREDENTIALS, "william");

    DirContext context = null;

    NamingEnumeration namingEnumeration = null;
    try {
        context = new InitialDirContext(env);
        System.out.println("Connection Successful.");

        SearchControls …
Run Code Online (Sandbox Code Playgroud)

java ldap

7
推荐指数
1
解决办法
4万
查看次数

标签 统计

java ×1

ldap ×1