Thread Rechteverwaltung (11 answers)
Opened by sitescriptor at 2010-10-14 00:34

sitescriptor
 2010-10-15 16:08
#141939 #141939
User since
2009-08-09
105 Artikel
BenutzerIn
[default_avatar]
2010-10-14T20:37:59 payx

- Recht (funktional): Bestimmte Funktion anwenden, bestimmte Aktion ausführen
- Recht (inhaltlich): Funktionales Recht auf bestimmte Datenbestände anwenden

Die Unterscheidung zwischen funktionalen und inhaltlichen Rechten kann sinnvoll sein, zumindest konzeptionell. (Beispiel: Wenn ein User die Rolle Editor hat, darf er die ihm zugeordneten Datenbestände editieren, hat er nur die Rolle Researcher, dann darf er die ihm zugeordneten Datenbestände nur anschauen usw. - Wie gesagt, das kann je nach Anwendungsfall sinnvoll sein.)

Die Aktionen bestimmen, was mit Daten passiert. Ich habe diese Aktionen in einem Hash organisiert. Dieser erhält den Sprung zur ausführenden Methode ebenso, wie eine Beschreibung der Aktion für die Rechtezuweisung. Dort wäre es auch möglich Parameter an die aufgerufene Funktion anzugeben. So würden beispielsweise zwei Aktionen (zuweissbare Rechte) zur selben Methode, mit unterschiedlichen Parametern, führen.

Beispielweise(kein gültiger Code):
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 $Self->actionshash =
(
"list-all" =>
{
'action' => sub { $Self->list_all(@_); },
'params' => {'fields' => '*',},
'description' => 'Listet alle Felder auf',
},
"list" =>
{
'action' => sub { $Self->list_all(@_); },
'params' => {'fields' => 'name',},
'description' => 'Listet nur die Namen auf',
},
)
So lassen sich "funktional" und "inhaltlich" übersichtlich vereinen.

2010-10-14T20:37:59 payx
Wenn Dein vereinfachtes Modell den Anforderungen Deiner Anwendung genügt, ist es prima.

Solange ich der Einzige bin, der mit meinem Framework arbeitet reicht es. ;-)

View full thread Rechteverwaltung