
Berechtigungen
Einklappen
X
-
Original geschrieben von Abraxax
ja. logo. habs verstanden. ist ja user|right einzeln. ;-)
Und mit einer weiteren Tabelle wäre die Abfragerei im Adminbereich nicht unbedingt einfacher...
Einen Kommentar schreiben:
-
ja. logo. habs verstanden. ist ja user|right einzeln. ;-)
Einen Kommentar schreiben:
-
Original geschrieben von Abraxax
wenn du bei deinem system bleiben willst, solltest du die subtraktion der rechte in einer weiteren tabelle ablegen. oder willst du , wie so viele andere hier , die rechte durch kommata trennen?
1 | 2 | 0 (0 ist Standard) beschwert User 1 das Recht 2
Angenommen die Rechte 3 - 7 sind in Gruppe 2:
2 | 2 in permission_user_group => User 2 hat alle Rechte der Gruppe 2 (3, 4, 5, 6, 7)
2 | 5 | 1 in permission_user_right entzieht ihm dann das Recht 5 wieder.
Ich muss da nichts durch Komma trennen
Einen Kommentar schreiben:
-
naja. ich habs ja so ähnlich gemacht ....
allerdings habe ich auch nicht die möglichkeit automatisch neu hinzugefügte gruppenrechte auf die user zu übertragen.
bei mir ist dies auch nicht notwendig, denn wenn ich ein neues recht einer gruppe zuordne, sollte auch nur der user der die gruppe komplett hat, das recht bekommen.
da ich immer nur die einzelnen rechte zu einem user speichere dienen bei mir die group_right und group_user tabellen nur der vereinfachung in der verwaltung.
wenn du bei deinem system bleiben willst, solltest du die subtraktion der rechte in einer weiteren tabelle ablegen. oder willst du , wie so viele andere hier , die rechte durch kommata trennen?
Einen Kommentar schreiben:
-
Berechtigungen
Tabelle permission_group
group_id
group_name
group_desc
group_active
Tabelle permission_right
right_id
group_id
right_name
right_active
right_desc
Tabelle permission_user_group
user_id
group_id
Tabelle permission_user_right
user_id
right_id
subtract_right
Die oberen beiden Tabellen sollten selbsterklärend sein, die active-Felder gibt's, um komfortabel eine Berechtigung(sgruppe) allen Usern temporär wegnehmen zu können (Recht oder Gruppe nicht aktiv => Entsprechende Aktionen nicht möglich)
Die beiden unteren Tabellen legen dann die Berechtigungen der einzelnen User fest.
Ein EIntrag der Form 2 | 3 in Tabelle permission_user_group würde dem Benutzer mit der ID 2 alle in der Gruppe 3 definierten Berechtigungen bescheren. Alternativ können Berechtigungen auch über explizit über die Tabelle permission_user_right verteilt geben, nur eben dann auch rechte- und nicht auf Rechtegruppenebene.
Das Feld subtract_right gibt mir die Möglichkeit, einem Benutzer zwar alle Berechtigungen einer Gruppe zuzuweisen, aber bestimmte Rechte wieder auszuschließen.
Im Gegensatz zu einer Zuweisung auf Rechteebene hätten diese User dann auch nachträglich der Gruppe hinzugefügte Rechte.
Kann man damit was anfangen oder habe ich was übersehen?
Was kann man besser abbilden?Zuletzt geändert von mrhappiness; 04.04.2005, 10:05.Stichworte: -
Einen Kommentar schreiben: