Der Content Management Server (CM) muss häufig feststellen, ob ein bestimmter Benutzer auf eine bestimmte Art und Weise auf eine Datei zugreifen darf, oder ob ein Benutzer zu einer bestimmten Benutzergruppe gehört. Um solche Fragen zu beantworten, ruft der Content Management Server entsprechende externe, d.h. nicht eingebaute Tcl-Prozeduren auf. Diese Prozeduren bilden das Benutzermanager-API. Indem die Implementation der Prozeduren des APIs geändert wird, können andere Benutzermanager als der in den CM eingebaute angesprochen werden, um solche Fragen zu beantworten.
An den Content Management Server können je ein Benutzermanager für das Redaktionssystem und das Live-System angebunden werden. Da Implementationen für den eingebauten Benutzermanager (die Voreinstellung) sowie für LDAP und ADS mitgeliefert werden, reicht es in der Regel aus, die jeweils zu verwendende Implementation zu konfigurieren.
Dies geschieht mit Hilfe des Systemkonfigurationseintrags userManagement
und seinen
Untereinträgen editorial
und live
. Diese spezifizieren jeweils wiederum je
eine Konfigurationsdatei:
<?xml version="1.0" encoding="UTF-8"?> <userManagement> <editorial fileName="um_ldap_nis.xml"/> <live fileName="um_none.xml"/> ... </userManagement>
Eine solche Konfigurationsdatei (wie oben beispielsweise um_ldap_nis.xml
)
konfiguriert das zu verwendende Schnittstellenmodul:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <handler>ldap_nis</handler> <config> <-- Server-Einstellungen --> <host>ldap.server</host> <!-- LDAP-Account mit weitreichenden Leserechten für Datenabfrage (leerer Wert: anonyme LDAP-Anfragen) --> <bindDn>cn=manager,dc=company,dc=de</bindDn> <bindPassword>password</bindPassword> <!-- Die folgenden Server-Angaben sind optional --> <port>389</port> <!-- LDAP-Protokollversion (Alternative: 2) --> <protocolVersion>3</protocolVersion> <!-- Verbindungsaufbau (default: unverschlüsselt; weitere Optionen: ssl, tls --> <secureConnection>tls</secureConnection> <-- Gruppen --> <groupSearchBase>ou=groups,dc=company,dc=de</groupSearchBase> <groupFilter>(objectclass=posixGroup)</groupFilter> <groupResolver> <name>simple</name> <properties> <dnFormat>cn=%s,ou=groups,dc=company,dc=de</dnFormat> </properties> </groupResolver> <!-- Angaben zu LDAP-Attributen, die jeweils den Wert eines usermanAPI-Keys bereitstellen --> <groupAttributeMapping> <name>cn</name> <realName>description</name> </groupAttributeMapping> <-- Die folgenden Angaben haben für einen Live-Benutzer-Anbindung keine Relevanz (es geht hier um den CM, der keine Live-Benutzer hat) --> <-- Benutzer --> <userSearchBase>ou=people,dc=company,dc=de</userSearchBase> <userFilter>(objectclass=posixAccount)</userFilter> <userResolver> ... </userResolver> <userAttributeMapping> ... </userAttributeMapping> <-- Gruppenzugehörigkeit --> <!-- Ab Version 6.5.0: konfigurierbares Attribut für die Gruppenzugehörigkeit --> <groupToUserRelationAttribute>memberUid</groupToUserRelationAttribute> <!-- Das existierende relationAttribute enthält als Wert für den Benutzer dessen Namen (true) oder seinen DN (false; default) --> <memberValueIsLogin>true</memberValueIsLogin> <!-- Gewährung globaler Rechte. Der über den Namen referenzierte Resolver wird aus cm/serverCmds/userman/lib/ldap/resolver/perm/<name>.tcl geladen --> <globalPermissionResolver> <name>simple</name> <properties/> </globalPermissionResolver> <!-- Explizite Superuser (Liste von Logins) --> <superUsers type="list"> <login>root</login> </superUsers> </config> </configuration>
Mit dem Unterelement handler
wird ein Connector-Tcl-Skript referenziert, das sich im
instanzspezifischen Verzeichnis
/NPS/instance/instName/script/cm/serverCmds/userman/handler
oder im gemeinsamen Verzeichnis
/NPS/share/script/cm/serverCmds/userman/handler
befindet. Das betreffende Skript ist dafür zuständig, die Konfigurationsparameter auszulesen und die erforderlichen Tcl-Schnittstellen-Prozeduren zu implementieren. Verwenden Sie die mitgelieferten Skriptdateien als Vorlage, um gegebenenfalls eigene Connectoren zu erstellen. Das dazu gehörende Interface ist in Abschnitt Das Benutzermanager-API beschrieben.
Die folgenden Anbindungsvarianten werden mit CMS Fiona ausgeliefert.
Ein externer Benutzermanager muss bestimmte allgemeine Eigenschaften haben, damit er mit CMS Fiona eingesetzt werden kann. Beachten Sie bitte auch die Anforderungen an LDAP-Server.