Tomcat6.0: JNDIRealm mit Digest-MD5

Einfach Dinge, die nichts mit XAMPP, Apache Friends, Apache, MySQL, PHP und alle dem zu tun haben. Allerlei halt. ;)

Tomcat6.0: JNDIRealm mit Digest-MD5

Postby nihal » 15. June 2007 17:24

Hallo Gemeinsam,
ich habe ein Problem und jeder Versuch ist heute gescheitert. Ich hoffe, Ihr könnt mir helfen (habe schon ziemlich viel im Internet gesucht bevor ich schreibe). Zum Problem:
Ich muß die unverschlüsselten LDAP-Zugange mehrerer Anwendungen nun verschlüsselt ablegen. In Context.xml jeder Anwendung ist derzeit ein ähnlicher Kontext abgelegt:
<Realm className="org.apache.catalina.realm.JNDIRealm"
connectionName="CN=LDAPUser,OU=LDAP Authentifizierung,OU=Administration,DC=MY-GROUP,DC=COM"
connectionPassword="EinPasswort"
connectionURL="ldap://my-group.com:389"
debug="99" referrals="follow"
roleBase="OU=MY-PROGRAMME,DC=my-group,DC=com"
roleName="cn" roleSearch="(member={0})"
roleSubtree="true"
userBase="OU=MY-ZD,DC=my-group,DC=com"
userRoleName="member"
userSearch="sAMAccountName={0}"
userSubtree="true"/>

Folgende Versuche habe ich bereits durchgeführt:

Ähnlich wie in UserDatabaseReal habe ich das Realm-Attribut digest="MD5" gesetzt und das Passwort mit einem verschlüsselten Passwort ersetzt (erzeugt mit <TOMCAT_HOME>/bin/digest.bat, Attribute MD5 )
Der Versuch ist fehlgeschlagen (für UserDatabaseReal hatte es für Admin und Manager-Console funktioniert)

Wie ich auf Apache-Seite lesen konnte wird für JNDIRealm im einfachen Bind-Mode das "digest" - Attribut ignoriert (Link:
http://tomcat.apache.org/tomcat-6.0-doc ... #JNDIRealm)

Bei meiner Internet-Suche habe ich das Attribut "authenticate" entdeckt, was auf dem vorher genannten Link nicht beschrieben war.
Laut Beschreibung anderer Entwickler sollte das Attribut authenticate="DIGEST-MD5" das tun was ich brauche.
Trotzdem bekomme ich jetzt folgenden Fehler beim Server-Start:
SCHWERWIEGEND: Exception performing authentication
javax.naming.NamingException: [LDAP: error code 1 - 00000000: LdapErr: DSID-0C090627, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, vece ]; remaining name 'OU=MY-ZD,DC=my-group,DC=com'
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3025)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2931)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2737)
at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1808)
at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1731)
at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:368)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:338)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:321)
at javax.naming.directory.InitialDirContext.search(InitialDirContext.java:248)
at org.apache.catalina.realm.JNDIRealm.getUserBySearch(JNDIRealm.java:1051)
at org.apache.catalina.realm.JNDIRealm.getUser(JNDIRealm.java:959)
at org.apache.catalina.realm.JNDIRealm.authenticate(JNDIRealm.java:908)
at org.apache.catalina.realm.JNDIRealm.authenticate(JNDIRealm.java:809)
at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:258)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:417)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)
1



Fehlen evtl. noch andere Parameter ausser authenticate und das verschlüsselte Passwort (gesetzt als Attribut "connectionPassword").
Interessant ist, daß auf Seite:
http://tomcat.apache.org/tomcat-6.0-doc ... realm.html
das "digest" Attribut für JNDIRealm garnicht beschrieben ist, aber dafür das Attribut "authenticate", leider nicht mit genügend Info.

Ich hoffe mir kann jemand helfen.

Danke und viele Grüße,
Nihal
nihal
 
Posts: 1
Joined: 15. June 2007 16:28

Return to Allerlei

Who is online

Users browsing this forum: No registered users and 1 guest