Das Konzept
Das Benutzermanager-API verfügt über zwei Sätze von Prozeduren. Der Content Management Server spricht über je einen Prozedursatz den Benutzermanager für das Redaktions- und das Live-System an. Über die Prozeduren kann der Content Management Server unter anderem:
- die Gruppen und Benutzer des Redaktionssystems und deren Rechte ermitteln,
- Benutzer des Redaktionssystems über ein Passwort authentifizieren,
- die Gruppen des Live-Systems ermitteln.
Die Namen der Prozeduren für den Zugriff auf den Benutzermanager des
Live-Systems enthalten die Zeichenkette secondary.
Die Prozedursätze für den internen Benutzermanager und einige weit
verbreitete Benutzermanager wie LDAP und ADS sind in Fiona im Verzeichnis
instance/instName/script/cm/serverCmds/userman/handler
als Tcl-Dateien enthalten. Die dazu gehörenden Konfigurationsdateien, in
denen auf die Tcl-Dateien verwiesen wird, befinden sich im Verzeichnis
instance/instName/config.
Um einen vorhandenen Prozedursatz zu verwenden,
- passen Sie die Parameter in der dazu gehörenden Konfigurationsdatei an die Gegebenheiten an,
- binden Sie sie in die Systemkonfiguration ein und
- starten Sie den Content Management Server neu.
Siehe hierzu auch die detaillierte Beschreibung zum Aufbau der Konfigurationsdateien.
Um einen neuen Prozedursatz zu erstellen und zu verwenden, können Sie eine vorhandene Tcl-Interface-Datei einschließlich Konfigurationsdatei kopieren, die Prozeduren redefinieren, die Konfiguration anpassen und einbinden.
Prozeduren des Benutzermanager-APIs
checkLoginAndPassword login passwordDie Funktion prüft, ob ein Benutzer mit dem Anmeldenamen
login das Passwort password
hat. Der Content Manager übergibt der Funktion das unverschlüsselte
Passwort. Hat der Benutzer das Passwort, so gibt die Funktion 1 zurück, hat
er es nicht oder existiert der Benutzer nicht, gibt sie 0 zurück. Im
Fehlerfall ist der Rückgabewert die Fehlermeldung.
secondaryGroupsWhere whereParams
Diese Prozedur liefert die Liste der Namen der Benutzergruppen, bei
denen die Suchkriterien (whereParams) erfüllt sind.
Suchkritierien werden als Name-Wert-Paare angegeben. Einziges Suchkriterium
ist groupText.
secondaryGroupWithNameExists name
Die Prozedur prüft, ob die Benutzergruppe mit dem Namen
name existiert und gibt 1 zurück, wenn dies der Fall ist, und
0, wenn die Gruppe nicht existiert.
secondaryGroupWithNameGet name key
Die Prozedur liest den Wert des der Gruppe name
zugewiesenen Feldes key aus und gibt ihn zurück. Ein externer
Benutzermanager muss sicherstellen, dass mindestens dann gültige Werte
geliefert werden, wenn man als key name oder
realName angibt. Beim Redaktionssystem muss außerdem
displayTitle den für die Anzeige verwendeten Titel der Gruppe
liefern. Im Fehlerfall wird die Fehlermeldung zurückgegeben. Die
Tcl-Routine sollte Fehlermeldungen des externen Benutzermanagers in jedem
Falle weiterreichen.
Die Prozedur prüft, ob die Benutzergruppe mit dem Namen
name das globale Recht permission hat und gibt 1
zurück, wenn dies der Fall ist. Hat die Gruppe das Recht nicht, so gibt die
Prozedur 0 zurück, im Fehlerfall ist der Rückgabewert die Fehlermeldung.
listSecondaryGroups
Diese Prozedur hat keine Parameter. Sie gibt die Liste der Gruppennamen zurück. Im Fehlerfall gibt sie die Fehlermeldung zurück.
listUsersDiese Prozedur hat keine Parameter. Sie gibt die Liste der Benutzernamen zurück. Im Fehlerfall gibt sie die Fehlermeldung zurück.
typeForGroupGetKey keytypeForSecondaryGroupGetKey key
Diese Prozedur gibt den Typ eines group-Parameters zurück
(list oder string).
Diese Prozedur gibt den Typ eines user-Parameters zurück
(list oder string).
Diese Prozedur liefert die Liste der Benutzer-Logins, bei denen die
Suchkriterien (whereParams) erfüllt sind.
Suchkritierien werden als Name-Wert-Paare angegeben. Beim integrierten
Benutzermanager ist als einziges Suchkriterium userText
verfügbar.
Die Prozedur prüft, ob der Benutzer mit dem Anmeldenamen
login existiert und gibt 1 zurück, wenn dies der Fall
ist, und 0, wenn der Benutzer nicht existiert.
Die Prozedur liest den Wert des dem Benutzer login
zugewiesenen Feldes key aus und gibt ihn zurück. Ein externer
Benutzermanager muss sicherstellen, dass mindestens dann gültige Werte
geliefert werden, wenn man als key login,
realName, email, groups,
displayTitle oder defaultGroup angibt. Im
Fehlerfall wird die Fehlermeldung zurückgegeben. Die Tcl-Routine sollte
Fehlermeldungen des externen Benutzermanagers in jedem Falle
weiterreichen.
Die Prozedur prüft, ob der Benutzer mit dem Anmeldenamen
login das globale Recht
permission hat und gibt 1 zurück, wenn dies der Fall
ist. Hat der Benutzer das Recht nicht, so gibt die Prozedur 0 zurück, im
Fehlerfall ist der Rückgabewert die Fehlermeldung.
Der integrierte Benutzermanager stellt fest, ob ein Benutzer ein Recht hat, indem er prüft, ob das Recht dem Benutzer direkt erteilt wurde oder ob der Benutzer Mitglied einer Benutzergruppe mit diesem Recht ist.
Der Benutzermanager hat nur die Aufgabe, die Namen globaler Rechte den Benutzern und Benutzergruppen zuzuordnen. Die Verwaltung der Rechte überlässt er den Anwendungen, die auf ihn zugreifen.
userWithLoginIsOwnerOf login ownedLoginDie Prozedur prüft, ob der Benutzer mit dem Anmeldenamen
login Verwalter des Benutzers mit dem Anmeldenamen
ownedLogin ist. Ist dies der Fall, so gibt die
Prozedur 1 zurück, andernfalls 0. Im Fehlerfall ist der Rückgabewert die
Fehlermeldung.
Mit dieser Anfrage wird für den Benutzer login die
Berechtigung ermittelt, die
Einstellungen
des Benutzers ownedLogin zu ändern. Eine einfache
Implementation liefert hierfür den Rückgabewert von
userWithLoginIsSuperUser login.
Der Content Manager übergibt dieser Prozedur den Anmeldenamen
login. Die Prozedur prüft, ob der Benutzer mit diesem
Anmeldenamen ein Superuser ist und gibt 1 zurück, wenn dies der Fall ist,
und 0, wenn der Benutzer kein Superuser ist. Im Fehlerfall gibt die
Prozedur die Fehlermeldung zurück.