Konfiguration des contentXXL Active Directory Connectors sowie Single Sign On

 

 

Benutzer können sich standardmäßig über ein Formular am contentXXL System anmelden (form-based login). Optional ist es möglich, contentXXL mit integrierter Windows Authentifikation zu betreiben. Die bestehende Windows-Anmeldung wird in diesem Fall automatisch an contentXXL durchgereicht und berechtigte Benutzer automatisch angemeldet. Eine zusätzliche Eingabe erfolgt nicht (SSO, Single Sign On). Folgende Schritte sind dazu erforderlich:

  • Integrierte Windows-Authentifizierung am IIS aktivieren.
  • NTFS-Rechte auf die Codebasis entsprechend erweitern.
  • Benutzer in contentXXL anlegen. Loginalias so bauen: <<computername>>\<<benutzername>> wie auf dem Windows-Server in der Benutzerverwaltung.
  • Häkchen setzen bei „Windows-Benutzer“.
  • Integrierte Windows-Authentifizierung funktioniert nur mit IE (Einstellungen gegebenenfalls anpassen).
  • Der Client (der mit Single-Sign-On authentifiziert werden soll) darf keine URL verwendet, in der ein Punkt enthalten ist. Die integrierte Windows Anmeldung funktioniert nämlich standardmäßig nur bei URLs ohne Punkt (Intranet).

Falls eine größere Anzahl von Benutzern so verwaltet werden soll, empfehlen wir den Einsatz des contentXXL-Moduls "Active Directory Connector" zur Anbindung an die Windows-Benutzerverwaltung (Active Directory).

Der Einsatz bringt eine Reihe von Vorteilen:

  • Importieren und Aktualisieren der Benutzerdaten/Kontaktdaten aus dem Active Directory.
  • Zuweisung/Zuordnung von Attributen aus dem AD zu Benutzern bzw. Kontaktdaten (z.B. Telefonnummer usw.)
  • Zuweisung/Zuordnung von Windows Benutzergruppen zu contentXXL Rollen, z.B. könnte die AD Gruppe „Sales“ der contentXXL Rolle „Vertrieb" zugeordnet werden.
  • Aktualisierung der Benutzerdaten während der automatischen Anmeldung

Die Verwaltung von Benutzern und Rollen ist so vollständig in die Windows Benutzerverwaltung integriert. Kundenspezifische Login-Provider können ebenfalls eingebunden werden, z.B. Novell NDS etc.

Hinweis: Die contentXXL-Zugriffsrechte (z.B. das Recht HTML zu verwenden) verbleiben im CMS und werden nicht im AD verwaltet, d.h. es sind keinerlei Modifikationen am AD Schema erforderlich. Das AD bleibt das führende Verzeichnis, es sind lediglich Leserechte erforderlich. Kennworte verbleiben im AD und werden nicht zum CMS übertragen.

 

Die Konfiguration des AD-Connectors erfolgt auf Portalebene über eine XML-Datei.

~/portaldata/x/activedirectory.xml

x steht für die ID des betreffenden Portals.

 

<ADINTEGRATION>
<CONFIG>
<SETTING key="domain" value="contentXXL" />
<SETTING key="realm" value="contentXXL.com" />
<SETTING key="autoAddUsers" value="true" />
<SETTING key="autoAddRoles" value="true" />
<SETTING key="languageid" value="..."/>
<SETTING key="synchronizeEachLogin" value="true" />
<SETTING key="synchronizeUserRoles" value="false" />
<SETTING key="createOnlyMappedUsers" value="true" />
<SETTING key="allowEmptyEmail" value="false" />
<SETTING key="customquerystring" value="LDAP://…/DC=…,DC=cn,DC=…,DC=…" />
<SETTING key="customfilterstring" value="(memberof=CN=…,OU=…,DC=…,DC=…,DC=…)" />
<SETTING key="customsynchronizetime" value="1440" />
</CONFIG>
<USERPROPERTYMAPPING>
<USER AdProperty="mail" contentXXLProperty="email" />
<USER AdProperty="cn" contentXXLProperty="username" />
<USER AdProperty="givenName" contentXXLProperty="firstname" />
<USER AdProperty="sn" contentXXLProperty="lastname" />
<USER AdProperty="description" contentXXLProperty="department" />
<USER AdProperty="company" contentXXLProperty="company" />
<USER AdProperty="streetAddress" contentXXLProperty="b_street" />
<USER AdProperty="l" contentXXLProperty="b_city" />
<USER AdProperty="st" contentXXLProperty="b_region" />
<USER AdProperty="postalCode" contentXXLProperty="b_zipcode" />
<USER AdProperty="mail" contentXXLProperty="b_email" />
<USER AdProperty="telephoneNumber" contentXXLProperty="b_tel" />
</USERPROPERTYMAPPING>
<GROUPROLEMAPPING>
<ROLE contentXXLRole="BU-contentXXL">
<GROUP adGroup="BU-contentXXL" />
</ROLE>
<ROLE contentXXLRole="BU-communication">
<GROUP adGroup="BU- communication" />
</ROLE>
<ROLE contentXXLRole="development">
<GROUP adGroup="Groupdevelopment" />
</ROLE>
<ROLE contentXXLRole="contentXXL" />
</GROUPROLEMAPPING>
</ADINTEGRATION>

Im Bereich <CONFIG> erfolgen Einstellungen für die zu synchronisierende Domain:

  • <SETTING key="domain" value="contentXXL" /> : Name der Domain, Beispiel: contentXXL
  • <SETTING key="realm" value="contentXXL.com" /> Vollständiger Domainname (FQDN), Beispiel: contentXXL.com
  • <SETTING key="autoAddUsers" value="true" />: falls neue Benutzer automatisch hinzugefügt werden sollen, andernfalls werden nur Aktualisierungen unterstützt.
  • <SETTING key="autoAddRoles" value="true" /> : falls neue Gruppen automatisch als contentXXL-Rollen hinzugefügt werden sollen, andernfalls werden nur Aktualisierungen unterstützt.
  • <SETTING key="languageid" value="..." />: Standardmäßig wird importierten Kontakten die Default-Sprache des Portals zugeordnet. Wenn der Key languageid gesetzt ist, wird den importierten Kontakten der hier definierte Wert zugeordnet (1 für Deutsch, 2 für Englisch usw.)
  • <SETTING key="synchronizeEachLogin" value="true" />: falls die Synchronisation für einen Benutzer automatisch bei der Anmeldung erfolgen soll.
  • <SETTING key="synchronizeUserRoles" value="false" />: verhindert die Synchronisation von Rollen (Standardwert ist "true").
  • <SETTING key="createOnlyMappedUsers" value="true" />: nur Benutzer, die synchronisierten AD-Gruppen angehören, werden erzeugt.
  • <SETTING key="allowEmptyEmail" value="true" />: Auch AD-Benutzer ohne Email-Adresse werden importiert (Standardwert ist "false").
  • <SETTING key="customquerystring" value="LDAP://…/DC=…,DC=cn,DC=…,DC=…" />: Erlaubt eine Anpassung des LDAP-Pfades.
  • <SETTING key="customfilterstring" value="(memberof=CN=…,OU=…,DC=…,DC=…,DC=…)" />: Filtert die LDAP-Abfrage.
  • <SETTING key="customsynchronizetime" value="1440" />: Die Synchronistaion findet standardmäßig alle 60 Minuten statt. Der Wert kann hier angepasst werden (Voraussetzung ist, dass synchronizeEachLogin auf "true" steht). 

Im Bereich <USERPROPERTYMAPPING> werden Benutzerinformationen im AD Benutzer- bzw. Kontaktinformationen in contentXXL zugeordnet. Die Informationen werden aus dem AD nach contentXXL übernommen. Sie können dann in der contentXXL Benutzerverwaltung nicht geändert werden (d.h. sie werden bei der nächsten Synchronisation wieder überschrieben). Feldnamen bei contentXXL entsprechen den Feldern der Tabellen  "Users" bzw. "Contacts", Feldnamen bei AD entnehmen Sie bitte der Dokumentation des Herstellers.

Im Bereich <GROUPROLEMAPPING> werden Gruppeninformationen im AD Rolleninformationen in contentXXL zugeordnet. Die Zuordnung ermöglicht es, in contentXXL und AD unterschiedliche Namen zu verwenden. Üblicherweise wird z.B. die Gruppe der Administratoren im AD nicht der Rolle Administratoren in contentXXL entsprechen. Es ist möglich, nur Rollen zu importieren, die explizit genannt sind. Mehrere Gruppen können einer Rolle zugeordnet werden. Rollen, die keiner Gruppe zugeordnet sind, werden allen Benutzern zugewiesen. Bitte beachten Sie, dass hier Groß/Kleinschreibung relevant ist!

Hinweis: Änderungen an der Konfigurationsdatei activedirectory.xml greifen erst nach einem Neustart der Applikation. Ist die Datei im Portal hinterlegt, erscheint in der Benutzerverwaltung eine Schaltfläche, mit der eine Batch-Synchronisation durchgeführt werden kann.

 

Konfiguration eines Benutzers für den AD-Connector:

 

Der AD-Connector wird mit den Rechten eines definierten Benutzers betrieben. Der Benutzer wird portalspezifisch (Eintrag der PortalID) in der Datenbank-Tabelle "PortalSettings" wie folgt konfiguriert (bitte beachten Sie die Kleinschreibung beim settingskey):

  • Settingskey: adusername_domain
  • Settingsvalue: ...
  • Settingskey: adpassword_domain
  • Settingsvalue: ...

Hinweis: Das Lesen von AD-Informationen ist unter Windows kein standardmäßig vergebenes Recht. Dieses Recht muss dem dazu verwendeten Benutzer explizit erteilt werden. Verwenden Sie aus Gründen der Sicherheit keine existierenden Benutzer für diese Funktionalität. Erteilen Sie nur die jeweils notwendigen Rechte.

Ausführlichere Informationen zum AD-Connector, z.B. zur Integration mehrerer Domains, finden Sie im Partner- und Supportportal.

 

Zeitgesteuerte Synchronisation von Active Directory und contentXXL:

Die Synchronisation kann jederzeit über die Benutzerverwaltung ausgelöst werden. Zusätzlich stellen wir das Kommandozeilentool ADBatchSync.exe zur Verfügung, das im Verzeichnis ~\portaladmin mit contentXXL ausgeliefert wird.
Der Aufruf muss in folgendem Format erfolgen:

ADBatchSync /url /username /password

/url: URL des Portals, für das die Synchronisation gestartet werden soll (Beispiel: /http://www.mydomain.com)
/username: Benutzer, in dessen Kontext die Synchronisation gestartet werden soll. Der Benutzer muss Zugriff auf die Benutzerverwaltung haben. (Beispiel: /admin)
/password: Passwort dieses Benutzers (Beispiel: /geheim)

Zur Zeitsteuerung muss das Tool lediglich mit den erforderlichen Parametern in den Windows Task Scheduler eingebunden werden. Voraussetzung hierbei ist eine Verbindung des betreffenden Rechners mit dem Internet.

 

 

Secure LDAP (LDAPS)

Zur Verwendung von Secure LDAP (LDAPS) muss folgender Key in der web.config eingetragen werden:

<add key="useLDAPS" value="true" />