[PHP&MySQL] Rechtevergabe für eigenes Mini-CMS
Verfasst: 21.11.2006 11:16
Hi,
ich habe ein Mini-CMS programmiert und möchte den Usern nun best. Rechte geben (z.B. News schreiben, geschriebene News editieren, alle News editieren, Foreneinträge editieren, Rubrik XY ansehen, Rubrik Z ansehen....).
Die Anzahl der Rechte die ich vergeben will beläuft sich auf etwa 50 Stück.
Nun habe ich eine abstrakte Klasse "Mitglieder" gemacht und 3 davon erbende Klassen "Mitglied", "Admin", "Probemitglied".
Dabei sollen grundsätzlich jedes "Mitglied" die gleichen Rechte haben, jeder "Admin" die gleichen und jedes "Probemitglied" und nur in Einzelfällen sollen die Rechte angepasst werden.
So viel zum Background.
Nun meine Frage: Soll ich auf jeder Seite nun für das entsprechende Mitglied - je nach Status (also "Admin", "Mitglied" oder "Probemitglied") eine neue Instanz erzeugen in der die Rechte gesetzt werden oder soll ich je nach Rubrik eine Datenbankabfrage machen - z.B. Benutzer will Rubrik Downloads anschauen -> in DB nachschauen, ob er mit seinem Status überhaupt die Erlaubnis hat.
Entsprechend der Rechte will ich auch die Menüs, etc. anpassen, also daß z.B. die Rubriken, die der Nutzer nicht besuchen darf sollen nicht angezeit werden bzw. umgekehrt: Nur die "Optionen", die der Benutzer nutzen darf sollen angezeigt werden.
Wie macht man das jetzt am professionellsten? Alle Rechte jedes Mal in einem Objekt setzen, in den Sessions übergeben oder jedes Mal eine neue DB-Anfrage für die einzelnen Rubriken?
Was ist am schnellsten / besten / ....?
Vielen Dank und Grüße,
Dirk
ich habe ein Mini-CMS programmiert und möchte den Usern nun best. Rechte geben (z.B. News schreiben, geschriebene News editieren, alle News editieren, Foreneinträge editieren, Rubrik XY ansehen, Rubrik Z ansehen....).
Die Anzahl der Rechte die ich vergeben will beläuft sich auf etwa 50 Stück.
Nun habe ich eine abstrakte Klasse "Mitglieder" gemacht und 3 davon erbende Klassen "Mitglied", "Admin", "Probemitglied".
Dabei sollen grundsätzlich jedes "Mitglied" die gleichen Rechte haben, jeder "Admin" die gleichen und jedes "Probemitglied" und nur in Einzelfällen sollen die Rechte angepasst werden.
So viel zum Background.
Nun meine Frage: Soll ich auf jeder Seite nun für das entsprechende Mitglied - je nach Status (also "Admin", "Mitglied" oder "Probemitglied") eine neue Instanz erzeugen in der die Rechte gesetzt werden oder soll ich je nach Rubrik eine Datenbankabfrage machen - z.B. Benutzer will Rubrik Downloads anschauen -> in DB nachschauen, ob er mit seinem Status überhaupt die Erlaubnis hat.
Entsprechend der Rechte will ich auch die Menüs, etc. anpassen, also daß z.B. die Rubriken, die der Nutzer nicht besuchen darf sollen nicht angezeit werden bzw. umgekehrt: Nur die "Optionen", die der Benutzer nutzen darf sollen angezeigt werden.
Wie macht man das jetzt am professionellsten? Alle Rechte jedes Mal in einem Objekt setzen, in den Sessions übergeben oder jedes Mal eine neue DB-Anfrage für die einzelnen Rubriken?
Was ist am schnellsten / besten / ....?
Vielen Dank und Grüße,
Dirk