Meine ldiff Datei sieht wie folgt auskann nicht Java zur Authentifizierung - LDAP
dn:uid=test,ou=users,dc=example,dc=com
objectclass:person
objectclass:inetOrgPerson
objectclass:organizationalPerson
objectclass:top
givenName: test
title:test
uid:test
cn:test
sn:sdf
userPassword: 81dc9bdb52d04dc20036dbd8313ed055
mail: [email protected]
creatorsName: cn=Directory Manager,cn=Root DNs,cn=config
modifiersName: cn=Directory Manager,cn=Root DNs,cn=config
Das Userpassword in Portal db mit MD5 mit Hex-Codierung gehasht wird. Auch aktiviert pre-encoded-password zu true aber nicht hilft.
Das Klartext-Passwort für das oben Userpassword „1234“ und ich habe ein Programm Java-Beispiel die gleichen
public static void main(String[] args) throws NamingException {
final String ldapAdServer = "ldap://0.0.0.0:389";
final String ldapUsername = "uid=test,ou=People,dc=example,dc=com";
final String ldapPassword = "81dc9bdb52d04dc20036dbd8313ed055;
Hashtable<String, Object> env = new Hashtable<String, Object>();
env.put(Context.SECURITY_AUTHENTICATION, "simple");
if (ldapUsername != null) {
env.put(Context.SECURITY_PRINCIPAL, ldapUsername);
}
if (ldapPassword != null) {
env.put(Context.SECURITY_CREDENTIALS, ldapPassword);
}
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, ldapAdServer);
env.put("java.naming.ldap.attributes.binary", "objectSID");
DirContext ctx = new InitialDirContext(env);
}
Ersetzen das Userpassword im Java-Programm zur Authentifizierung immer „Invalid Authentication Exception“
gibtBeigefügt ist die Einstellung von OpenDJ OPENDJ Passpword policy
Meine Forderung ist haben wir ein Portal, deren Kennwörter in db in MD5 mit hex gespeichert integrieren das Portal kodiert, d zum ldap für jede Passwortänderung wird der ldap mit Hashwert aktualisiert, aber das obige Java-Programm funktioniert überhaupt nicht. Brauchen Sie ernsthafte Hilfe.
Danke.