TS: Rechteverwaltung

Beitrag lesen

Hallo Andreas,

Es könnte zum Beispiel sein, dass ein User das Recht "read" im Modul "bar" des projekts "foo" hat. Darüber hinaus ist er in der Gruppe "snafu", die dieses Recht ebenfalls hat. Und dann noch in der Gruppe "hurz", die das AUCH darf.

das ist ja der harmlose Fall. Interessant wird's, wenn die Berechtigung in der einen Gruppe "read", in der anderen Gruppe "write" (was "read" impliziert) und beim Benutzer auf "forbidden" steht.

Dann müüste ich die NDS oder ActiveDirectory nachbauen. Die nehmen darauf Rücksicht, auch inherited und filtered zu berücksichtigen. Ist aber kein Problem, das einzubauen, wenn es notwendig ist. Die Verdichtung der Rechte findet erst in der API statt. Man muss dann nur die Prioritäten festlegen.

Ich arbeite hier erstmal nur mit positiven Rechten. Man könnte aber auch festlegen, dass das kleinste festgelegte Recht gilt:


User       n/a
Group_1    use
Group_2    forbidden 
--------------------
forbidden

User       use
Group_1    n/a
Group_2    all
--------------------
use

User       n/a
Group_1    n/a
Group_2    n/a
--------------------
not permitted (~= forbidden)

.

Da sich die Auswertung in einer einzigen Funktion abspielt, gibt es also auch kein "wo muss ich überall ändern"-Chaos.

Grüße
TS

--
es wachse der Freifunk
http://freifunk-oberharz.de