Hello,
sinnvoll ist eine Trennung in mindestens drei Stämme:
- aktive Objekte: User, Programme
- passive Objekte: Daten, Geräte, Schnittstellen
- Zugehörigkeit: Jedes Objekt, egal ob aktiv oder passiv wird einer
oder mehrerer "Abteilung" zugeorndet
Ein User erhält z.B. Rechte auf einen Datenstamnm, und das Recht, neue User anzulegen. Diesen neuen Usern kann er wiederum Rechte auf (Teile seines) Datenstammes vergeben. Er könnte ihnen auch das Recht ertielen, Rechte zu erteilen, wenn... Und hier wird es spannend.
Das Problem bei dieser Art Rechtevergabe ist immer: Wie will man Rechte auf etwas noch nicht vorhandenes erteilen? Man könnte also nun dem User A das Recht geben, für die Abteilungen, denen er angehört, seinerseits User anzulegen. Einem dieser User erteilt er dann z.B. noch das Recht, in der Abteilung GRAFIK wiederum User anzulegen.
Und dann solltest Du Rechte-Vererbung, Vererbungsfilter und diskrete Rechtevergabe noch berücksichtigen.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg