Forums Neueste Beiträge
 

membership

10/07/2009 - 13:35 von Carsten | Report spam
Ich habe ein Frage bezüglich der Rechtevergabe. Flogendes Szenario würde ich
gerne abbilden: Eine Applikation, mit der ich verschiedene Daten
administrieren kann, soll die Möglichkeit besitzen, Daten für andere Nutzer
freizugeben. Mit anderen worten ich möchte eine Möglichkeit schaffen,
benutzerdefinierte Ausnahmen für Berechtigungen anzulegen. Case: Abteilung A
mit Rolle A darf alle Datensàtze sehen. Jetzt möchte ein Mitarbeiter einen
oder mehrere Datensàtze für einen anderen User/Rolle freigeben.
(Berechtigungen könnten sein: Lesen, Ändern, Löschen)

1. Wie könnte man das Datenbanktechnisch am Besten verwalten? Gibt es evt.
bereits Funktionen, die so etwas abbliden können?

2. Würde so ein Szenario auch von der Performance umsetzbar sein, da ich ja
im zweifelsfall jeden Datensatz prüfen muss?

LG

Carsten
 

Lesen sie die antworten

#1 Thomas Bandt
10/07/2009 - 14:30 | Warnen spam
Carsten schrieb:
Ich habe ein Frage bezüglich der Rechtevergabe. Flogendes Szenario würde ich
gerne abbilden: Eine Applikation, mit der ich verschiedene Daten
administrieren kann, soll die Möglichkeit besitzen, Daten für andere Nutzer
freizugeben. Mit anderen worten ich möchte eine Möglichkeit schaffen,
benutzerdefinierte Ausnahmen für Berechtigungen anzulegen. Case: Abteilung A
mit Rolle A darf alle Datensàtze sehen. Jetzt möchte ein Mitarbeiter einen
oder mehrere Datensàtze für einen anderen User/Rolle freigeben.
(Berechtigungen könnten sein: Lesen, Ändern, Löschen)

1. Wie könnte man das Datenbanktechnisch am Besten verwalten? Gibt es evt.
bereits Funktionen, die so etwas abbliden können?



Imho nein, sowas làsst sich mit der Standardfunktionalitàt
nicht abbilden, es sei denn du verzichtest auf User-bezogene
Rechtevergabe und beschrànkst dich auf die Rollen/Gruppen,
dann kannst du sogar mittels eigenem Membershipprovider
arbeiten.

Generell brauchst du irgendwie eine Relation zw. den Datensàtzen
und den Rechten. Im einfachsten Fall ist das eine Datenbank-
Tabelle:

ID / FKDatensatzID / FKGruppeID / Lesen / Ändern / Löschen
-
1 / 1 / 1 / true / true / false
2 / 1 / 2 / true / false / false
...

2. Würde so ein Szenario auch von der Performance umsetzbar sein, da ich ja
im zweifelsfall jeden Datensatz prüfen muss?



Kommt letztendlich auf die Komplexitàt der Prüfung an, aber ich
würde sagen das kannst du erstmal vernachlàssigen.

Gruß, Thomas [MVP ASP/ASP.NET]
http://www.69grad.de - Die ASP.NET-Profis aus Nürnberg
http://blog.thomasbandt.de - Privates Blog

Ähnliche fragen