So konfigurieren Sie die LDAP-Authentifizierung für mehrere LDAP-Verzeichnisse

Frage / Problem

Es ist möglich, mehrere LDAP-Verzeichnisse und Server für die Authentifizierung zu konfigurieren. Dazu müssen mehrere LDAPLoginModule-Abschnitte konfiguriert werden.

Ab CRX2.0 sind mehrere solcher LDAPLoginModule-Konfigurationen nicht mehr wirksam, es wird nur eine Konfiguration vorgenommen. Dies bedeutet, dass die LDAP-Authentifizierung für mehrere Verzeichnisse nicht möglich ist.

Antwort / Auflösung

Es gibt eine Problemumgehung, um die Authentifizierung für mehrere LDAP-Server zu unterstützen. Das Hauptproblem ist, dass bei CRX2.0 das Attribut principal_provider.name, das hauptsächlich die eindeutige ID eines LDAP-Verzeichnisses lieferte, nicht mehr verwendet wird. Stattdessen wird das Attribut principal_provider.class als eindeutiger Bezeichner verwendet.

Als Behelfslösung müssen für jedes konfigurierte LDAPLoginModule eindeutige Klassennamen für das Attribut principal_provider.class konfiguriert werden. Diesem Artikel ist eine JAR-Datei angefügt mit sechs eindeutigen Klassen, die die Standardklasse com.day.crx.security.principals.LDAPPrincipalProvider lediglich erweitern:

  • com.day.daycare.ldap.LDAP1
  • com.day.daycare.ldap.LDAP2
  • com.day.daycare.ldap.LDAP3
  • com.day.daycare.ldap.LDAP4
  • com.day.daycare.ldap.LDAP5
  • com.day.daycare.ldap.LDAP6

Bitte stellen Sie die Datei multi-ldap-patch.jar im CRX Webapp-Ordner WEB-INF/lib, z. B. crx-quickstart/server/runtime/0/_crx/WEB-INF/lib, bereit und konfigurieren Sie die LoginModule entsprechend.

Beispiel:

com.day.crx {
   com.day.crx.security.authentication.CRXLoginModule sufficient;
   com.day.crx.security.ldap.LDAPLoginModule sufficient
       principal_provider.class="com.day.crx.security.principals.LDAPPrincipalProvider"
       host="MyHost1"
       ...;

   com.day.crx.security.ldap.LDAPLoginModule sufficient
       principal_provider.class="com.day.daycare.ldap.LDAP1"
       host="MyHost2"
       ...;

   com.day.crx.security.ldap.LDAPLoginModule sufficient
       principal_provider.class="com.day.daycare.ldap.LDAP2"
       host="MyHost3"
       ...;
}

CRX 2.2 / 2.3

Hinweis: Dieses Problem wurde für die aktuelle CRX 2.2-Version behoben. Das Attribut principal_provider.name wurde erneut hinzugefügt. Daher ist es nicht mehr erforderlich, eindeutige Klassennamen für das Attribut principal_provider.class zu konfigurieren.

Im Folgenden finden Sie ein Beispiel, das mit CRX 2.2 und mehreren LDAP-Servern funktioniert:

com.day.crx {
   com.day.crx.security.authentication.CRXLoginModule sufficient;
   com.day.crx.security.ldap.LDAPLoginModule sufficient
       principal_provider.class="com.day.crx.security.principals.LDAPPrincipalProvider"
       principal_provider.name="ldap1"
       host="MyHost1"
       ...;

   com.day.crx.security.ldap.LDAPLoginModule sufficient
       principal_provider.class="com.day.crx.security.principals.LDAPPrincipalProvider"
       principal_provider.name="ldap2"
       host="MyHost2"
       ...;

   com.day.crx.security.ldap.LDAPLoginModule sufficient
       principal_provider.class="com.day.crx.security.principals.LDAPPrincipalProvider"
       principal_provider.name="ldap3"
       host="MyHost3"
       ...;
}

Gilt für

CRX 2.0 / 2.1 / 2.2 / 2.3

Herunterladen

 Adobe

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online