Moin Moin !
Leider sind es schon jetzt im ersten Schritt bestimmt 50 einzelne Rechte die gesetzt werden müssen...
Nimm einen String, in dem jede Position ein Recht representiert, 0 schaltet das Recht aus, 1 schaltet es an. (Bis 32 Rechte hätte ich dafür einen Integer genommen, aber bei Dir scheint es ja beliebig wachsen zu wollen).
"000" -- kann nix
"001" -- kann lesen
"010" -- kann schreiben
"100" -- kann sprechen
"111" -- kann alles
"110" -- stumm ;-)
Die Rechte schließen sich teilweise gegenseitig aus.
Was passiert, wenn jemand in zwei Gruppen ist, deren Rechte sich widersprechen?
Vergib Namen für die Rechte, und sei es auch nur zum Designen. Beschreibe die Rechte so, daß sie ausdrücken, was der User *KANN*, wenn er das Recht hat. In meinem Projekt gibt es z.B. folgende Rechte:
can login
can change own password
can edit Users
can edit groups
can edit newsticker
Sondern dies evtl. zusammenzufügen zu einer Spalte Projekte und hier einen longint
64 Bit. 50 Rechte hast Du schon. Das wird knapp.
Wie wäre es mit einem 32-Bit-Integer pro Rechtegruppe; und je einem Bit pro Recht?
Alexander
Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"