Mailinglisten-Archive |
> * table user (UID, name, ...) > * table group (GID, name, ...) > * table group_members ( GID, UID, permissions ) ich bin noch am Überlegen, ob ich in der user-tabelle einfach ein Gruppenfeld mit Kommaseparierten Gruppen, oder eine extra 1:n Tabelle, wie du es beschrieben hast einsetze. Wenn ich das in den user einbaue wird zwar die admin etwas komplizierter, ich spare mir aber bei jedem Besucher ein "select gid from group_members where uid=$uid". Und die Phplib arbeitet mit Kommaseparierten Gruppennamen... > dann gibst du einfach jedem bereich eine gruppe > (aehnlich dem 'Require group' in der .htaccess) und kannst damit > die rechte steuern ( permission-feld in group_members ) wie meinst du das mit dem permission-feld in group members? ich hatte eher daran gedacht die erlaubten Gruppe(n) zusammen mit den Seiten zu speichern. Leserechte in der gleichen Tabelle mit den Seitendaten (da es wohl am häufigsten gebraucht wird) und die anderen Rechte wie Edit, Useradmin, löschen etc. in einer 1:1 Tabelle mit einer Spalte pro Recht. Falls ein Feld leer ist, erbt die Seite das Recht von der nächsten Parent-Seite, bei der es eingetragen ist. (Rekursivfunktion) Problematisch wird es, wenn mehrere in der Baumstruktur aufeinanderfolgende admins existieren. Der "ranghöchste" kann die untergeordneten Seiten nicht editieren... Ich werde jetzt nochmal bei zope spickeln, wie die das machen.... Gruß Björn
php::bar PHP Wiki - Listenarchive