Gruppensystem mit Modulen und Rechten

measel101

Mitglied
Bin gerade dabei ein kleines Portal zu basteln, welches aus verschiedenen Modulen besteht. Zum Beispiel: News, Forum, etc. Jetzt soll aber jedes Modul unabhänig von den anderen Mods arbeiten und jedes seine eigene Rechte besitzen.

Mein Ziel ist es, dass ich jedem User eine, oder auch mehrere Gruppen zuweise, welche wiederum gewissen Rechten zugewiesen bekommen.

User
? Gruppe: Entertainer
? Darf News schreiben <- News Mod
? Darf News editieren
? Darf Polls aufstellen <- Poll Mod
? Darf Polls schließen
? Gruppe: Forum
? Darf Posts erstellen <- Forum
? etc...

Früher habe ich es immer mit Bits gelöst, aber wenn die Module unabhänig sein sollen, geht dieses Verfahren nicht ganz so einfach. Eine Möglichkeit wäre, dass ich Bits im Modul verwende, aber bei den Gruppen ein Array mit z.B. $rechte['new_modul'][0] = 4, oder so. Frage ist jetzt nur, wie speicher ich das in der Gruppe?

Ich habe bisher eine Tabelle mit den installierten Modulen, eine Tabelle, mit den existierenden Rechten (mod_id, und recht_mask <- der Bitwert) und die Gruppentabelle, doch weiß ich dort nicht wie ich bestimmte Rechter, der jeweiligen Mods dort speichern soll...

Falls jemand von Anfang an einen anderen Weg einschlagen würde, ich bin für alle Ideen, Kritiken, Vorschläge, etc dankbar ;)
 
Habs gelöst

Ja, das System läuft über 4 Tabellen:

- user //sollte klar sein
- module //name und id, der installierten module
- rights //name, id des moduls und den bitwert
- gruppen //mit den daten der zugewiesenen rechten

Läuft wunderbar :D
 
Zurück