Laden...

Berechtigungssystem - Design korrekt ?

Letzter Beitrag vor 16 Jahren 4 Posts 1.105 Views
Berechtigungssystem - Design korrekt ?

verwendetes Datenbanksystem: SQL2005

Hallo,
ich habe eine Frage, ob mein DB-Entwurf korrekt ist ?
Habe ich ev. etwas übersehen ?
Es handelt sich um ein Berectigungssystem meiner Anwendung.

Tabelle User
ID etc...

Tabelle Rollen
ID
Rollenname

Tabelle BenutzerIstInRolle
FkBenutzer
FkRolle

Tabelle Berechtigung
Id
Name der Berechtigung ( z.B. EditUser)

Tabelle RolleHatBerechtigung
FkRolle
FkBerechtigung

Also kommt grauf an was du genau machen möchtest.
Du weißt den Rollen Berechtigungen zu und dann Usern zu verschiedenen Rollen. Angenommen du möchstet einem User mehr Berechtigungen geben als einem anderen dann müsstest du die Rolle ändern. Wenn sie anderen Usern zugewiesen ist, erhalten sie ebenfalls die neue Berechtigung.
Ich würde dem User Berechtigungen zuweisen. Aber das hängt von deinen Anforderungen ab, dazu hast du ja nix geschreiben.
Wenn du deine Berechtigungen nur über Rollen vergeben möchstet sieht dein Design gut aus.

Du könntest auch beides möglich machen. Rollen und einzelne Berechtigungen. Z.B. Rolle User ist eingeschränkt in bestimmten Bereichen. User X hat die Rolle User, weil er aber ein paar tolle sachen machen muss, aber kein Administrator ist, der zusätzlich noch Berechtigung XYZ hat, bekommt er einfach nur Berechtigung Y und Z zugeteilt.

Wenn du deine Berechtigungen nur über Rollen vergeben möchstet sieht dein Design gut aus.

das sieht gut aus, Ich benutze Rollen, wenn sich die Berechtigung bei einem User ändert, dann bekommt er eine neue Rolle zugewiesen.

@deemax

dann würde das Design aber nicht mehr greifen, dann muß ich etwas umbauen.