Inhaltsverzeichnis
Die Zope-Benutzerverwaltung über UserFolder kann durch eine eigene Benutzerverwaltung ersetzt werden. Dazu wird der UserFolder durch das Produkt SimpleUserFolder ersetzt. Damit lassen sich leicht eigene Benutzerquellen und Rollen definieren. Um eine eigene Benutzerquelle einzurichten, muss im Tabulator "Zugriff" der Typ auf Benutzerdefiniert eingestellt werden.
Im Folgenden wird am Beispiel des mitgelieferten Beispiels der Aufbau einer einfachen eigenen Benutzerverwaltung Schritt für Schritt beschrieben. Die unten beschriebenen Methoden müssen entweder im Simple User Folder Objekt selbst oder einem Objekt, von dem aus der Simple User Folder sie akquirieren kann, angelegt werden.
Eine Benutzerquelle stellt der Benutzerverwaltung Informationen (Kennung, Passwort, Rollen) über alle Nutzer zur Verfügung. Um eine eigene Benutzerquelle zu erstellen, legen Sie eine DTML-Methode userSource an.
Beispiel:
$ZMS_HOME/conf/simpleuserfolder/pys/usersource.dtml
Das Script(Python)-Objekt addUser definiert, wie Benutzer einem ZMS-Objekt zugewiesen werden. Im Beispiel wird für jeden Benutzer ein DTML-Dokument angelegt.
Beispiel:
$ZMS_HOME/conf/simpleuserfolder/pys/adduser.py
Das Script(Python)-Objekt editUser definiert, wie die Benutzereigenschaften geändert werden. Im Beispiel können nur die Rollen eines Benutzers als Eigenschaft des zugehörigen DTML Dokuments verändert werden. Alle weiteren Eigenschaften werden von der externen Benutzerquelle bereitgestellt.
Beispiel:
$ZMS_HOME/conf/simpleuserfolder/pys/edituser.py
Das Script(Python)-Objekt deleteUser implementiert das Entfernen einer Benutzerzuweisung. Im Beispiel wird das dem Benutzer entsprechende DTML Dokument gelöscht.
Beispiel:
$ZMS_HOME/conf/simpleuserfolder/pys/deluser.py
Die Namen bzw. IDs aller einem ZMS-Objekt zugewiesenen Benutzer erhält man über das Script(Python)-Objekt getUserNames.
Beispiel:
$ZMS_HOME/conf/simpleuserfolder/pys/getusernames.py
Die Eigenschaften eines einem ZMS-Objekt zugewiesenen Benutzers erhält man, indem man den Benutzernamen bzw. die -ID dem Script(Python)-Objekt getUserDetails als Parameter übergibt. Man erhält ein Dictionary mit allen zur Verfügung stehenden Eigenschaften.
Beispiel:
$ZMS_HOME/conf/simpleuserfolder/pys/getuserdetails.py
Das ZMS Management Interface zum Bearbeiten der Benutzer kann auf die Bedürfnisse der eigenen Benutzerverwaltung angepasst werden. Dazu wird die DTML Methode manage_SimpleUserFolder eingebunden. Diese muss selbständig die Anzeige sowie das Bearbeiten (Einfügen, Ändern, Löschen) der Nutzer übernehmen.
Beispiel:
$ZMS_HOME/conf/simpleuserfolder/pys/manage_simpleuserfolder.dtml