Deus Figendi (noReg): Rechteverwaltung

Beitrag lesen

Deine Lösung ist natürlich sehr gut. Wichtig bei der Programmierung naher ist zu beachten, falls eine liste.5 einer Gruppe und zusätzlichen bestimmtne Personen etwas erlaubt, dass es nicht zu überschneidungen kommt:

Bsp. us3r ist in gruppe foobar. Die liste.5 berechtigt nun die Gruppe zum lesen und schreiben, aber us3r nur zum lesen. Da müsste ich mir dann ein ehierarchie überlegen, was entweder überwiegt oder man einfach sinnvollerweise dann immer die höchsten, bzw. besten Rechte nimmt.

Meiner Auffassung nach gelten einfach alle Rechte, in dem Sinne also nicht das höchste ^^
In dem Beispiel hieße das us3r darf lesen, lesen und schreiben. Drei Rechte auf einmal.
Diese Ansicht stammt von komplexeren Softwaren, die einfach viel mehr unterschiedliche Rechte gewähren können. Ich administriere z.B. ein SimpleMashines-Forum. Und in Foren- (oder im selfRaum sollte ich vielleicht "Board" sagen ^^) also in Boardsoftware gibt es ja eine ganze Menge verschiedenster Rechte, darf jemand lesen, schreiben, neue Themen erstellen, Umfragen erstellen, eigene Beiträge editieren, fremde Beiträge editieren, löschen, verschieben, vereinen, teilen, die Mitgliederliste betrachten, die Profile betrachten, bestimmte Daten innerhalb derer betrachten und so fort...
Will sagen es gibt einfach eine ganze Menge höchst verschiedener Rechte.
Nun bekommt ein Moderator z.B. alle Rechte Beiträge zu manipulieren, aber er bekommt nicht das Recht Umfragen zu erstellen. Dafür gibt es eine zweite Gruppe der "Interviewer", diese erhalten das Recht Umfragen zu erstellen, sowie Themen zu erstellen, in denen nur einzelne Benutzer antworten können/dürfen.
Der Interviewer erhält aber nicht die Rechte Beiträge zu manipulieren (verschieben, editieren, teilen, vereinen etc.). Wenn jetzt jemand Moderator und Interviewer ist, dann verliert er aufgrund dessen dass er gerade seiner Interviewer-Tätigkeit nachgeht keinesfalls das Recht auch Beiträge zu manipulieren.

Also dieses untersagen würde ich einfach weg lassen, wenn Benutzer der Meinung sind bestimmte Benutzer auszuschließen, die aber einer Gruppe angehören, die man einschließen will, dann muss man die Benutzer der Gruppe eben einzeln zulassen oder eine neue Gruppe gründen, die eben die "unerwünschten" Benutzer exkludiert.

Bei dem ganzen Geschwafel ist mir auch noch was eingefallen. Oben habe ich dargestellt man könne diese Rechte so wunderbar vereinen als "Schreiben und ausführen" oder so.
Tatsächlich ist es vielleicht aber sinnvoller weil skalierbarer die Rechte einzeln zu vergeben. Also Lesen ist ein Recht, schreiben ist ein Recht, Überschreiben ist ein Recht, Löschen ist ein Recht und Ausführen auch.
Wenn man jemandem alles erlauben will kann man ja durchaus fünf Zeilen in der Tabelle spendieren.
Der Grund: Man will vielleicht, dass jemand überschreiben darf aber nicht schreiben, weil er nichts neues anlegen soll, sondern nur vorhandenes ändern darf. Oder man möchte das genaue Gegenteil, so PM-mäßig, jeder kann mir was auf die Liste schreiben, aber niemand außer mir kann sie lesen.
Und natürlich er fast übliche Fall: Lesen und Schreiben erlaubt man bestimmten Personen, aber um Vandalismus vorzubeugen untersagt man editieren und löschen. Die Personen/Gruppen können also nur neue Punkte in deiner Liste anlegen, aber keine vorhandenen ändern.

Unmöglich dürfte es allerdings sein, Löschen oder Überschreiben zu erlauben, das Lesen aber nicht ^^ explizit unterbinden würde ich diese Kombination aber auch nicht. Wenn das jemand so erlaubt kann man halt durch gezielte Manipulation von Formular-Inhalten o.ä. durchaus was löschen oder überschrieiben, was man gar nicht sehen kann, aber das wurde dann ja irgendwo auch so eingestellt, also was solls.