我安装了weblogic '10 .3.4.0'并在默认安全领域创建了一个用户 myrealm
。验证者是 DefaultAuthenticator
。现在,我必须通过独立的Java应用程序对用户进行身份验证。但该应用程序正在响应 LDAP: error code 49 - Invalid Credentials
:
Properties l_props = new Properties();
LdapContext l_ctx = null;
l_props.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
l_props.put(Context.PROVIDER_URL, "ldap://localhost:7001");
l_props.put(Context.SECURITY_AUTHENTICATION, "simple");
l_props.put(Context.SECURITY_PRINCIPAL, "cn=username");
l_props.put(Context.SECURITY_CREDENTIALS, "password");
l_ctx = new InitialLdapContext(l_props, null);
javax.naming.AuthenticationException: [LDAP: error code 49 - Invalid Credentials]
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3041)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2987)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2789)
at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2703)
at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:293)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:175)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:193)
at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:136)
at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:66)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:134)
at com.iflex.fcat.misc.TestLDAP.createInitialLdapContext(TestLDAP.java:258)
at com.iflex.fcat.misc.TestLDAP.authenticate(TestLDAP.java:170)
at com.iflex.fcat.misc.TestLDAP.main(TestLDAP.java:125)
我有点清理了你的问题;如果你不喜欢它,请随时回滚。我建议问一个实际的问题,说明你要做什么
—
Canadian Luke
尝试使用类似此LDAP浏览器的内容来连接相同的凭据。 ldaptool.sourceforge.net
—
week