Einzelnen Beitrag anzeigen
  #3  
Alt 13.09.2016, 13:42:02
sysop sysop ist offline
Member
 
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
AW: Ansatz/ Einstieg gesucht

Das nix gut!

1 | Elektro | 2 | 3 | 1 20
2 | Geschäftsführung | 1 | 2 | 3 |100
3 | Technische Leitung | 34 | 2 | 2 |70

Du brauchst z.B: alle, die Zugriff auf Abteilung 100 haben, und dann?
Du musst immer alle Datensätze durchlaufen und die Rechte extrahieren, da sind Probleme vorprogrammiert.

Mach es richtig und verwende eine Rechte-Tabelle
Z.B.

Code:
LEVEL_ID | ZUGRIFF_AUF_Abteilung
1        |  2
1        |  3
1        |  4
2        |  1
2        |  2
2        |  3
2        |  4
3        |  34
3        |  2
3        |  70
VORTEIL:
  • Setzt du den PrimKey auf beide Spalten, kann kein Doppelter Eintrag vorhanden sein (DB prüft)
  • So lassen sich einerseits leicht alle Rechte eines bestimmmten Levels abfragen, andererseits kannst du auch problemlos abfragen, wer das Recht auf Zugriff zu Abteilung x hat.
  • Beim Löschen eines Levels ist es problemlos die entsprechenden Rechte mit zu löschen.
  • Wenn man es korrekt macht, hat bei der Neuanlage eines Levels zunächst niemand Zugriff.

PS
Deine Idee ist Gruppenrechten ähnlich.
Ich würde das wohl sogar auf Userebene machen, also statt der LEVEL_ID die USER_ID verwenden, dann kannst du sogar Ausnahmeregeln definieren.
__________________
Gruss sys ;-)
Ich möchte wie mein Grossvater sterben, lächelnd und schlafend, nicht schreiend und weinend, wie sein Beifahrer.

Geändert von sysop (13.09.2016 um 13:55:35 Uhr)
Mit Zitat antworten