nizeboy
Goto Top

Rechtesystem für Webapp (Struktur)

Tabellenstruktur eines Rechtesystems für eine Webapplikation

Hallo,

ich benötige für meine kommende Webapplikation ein umfangreiches Rechtesystem, aber ich weiß nicht, wie meine Datenbankstruktur für das Rechtesystem aussehen soll. Es soll die Möglichkeit geben, auch nachträglich neue Rechte hinzuzufügen, neue Gruppen zu erstellen und anderen Usern diese zuzuweisen. Vielleicht hat hier jemand damit bereits Erfahrung?

Danke im voraus!

Content-ID: 78216

Url: https://administrator.de/contentid/78216

Ausgedruckt am: 25.11.2024 um 11:11 Uhr

Dani
Dani 15.01.2008 um 16:13:47 Uhr
Goto Top
Hallo nizeboy,
es kommt drauf an, wie groß die Application wird.

Wir haben grundsätzlich eine modulare Programmierung. Sprich es gibt ein Grundgerüst für die Navigation. Da können dann eben einzelne Module hinzugefügt werden (z.B. GLAZ Verwaltung, Mitarbeiter).
Es gibt dann für jeden Menüpunkt folgende Gruppen: ma_lesen, ma_aendern, ma_vollzugriff. Sprich du kannst genau definieren, was ein Benutzer machen darf. Wenn du natürlich wenn du Untermenüs hat, ändert sich nichts daran - gleiche Gruppen anderen Prefix am Ende.


Grüße
Dani
nizeboy
nizeboy 15.01.2008 um 22:48:21 Uhr
Goto Top
Die Applikation wird relativ groß (mehrere hundert Benutzer). Es soll im Endeffekt für (fast) JEDE Funktion, die die Applikation bietet, ein eigenes Recht vorhanden sein (z.B. das Recht, eine NEWS zu schreiben, eine NEWS zu lesen, eine NEWS zu ändern, eine NEWS zu löschen, einen globalen TERMIN zu erstellen, einen globalen TERMIN zu löschen, usw...)

Hierzu hätte ich gerne einen bestmöglichen Ansatz. Ich will es verhindern in meiner PHP Anwendung 100e von Abfragen reinzuknallen - das ist mir 1. zu aufwendig, 2. zu fehleranfällig und 3. zu statisch.
Dani
Dani 16.01.2008 um 08:58:37 Uhr
Goto Top
Moin,
sein (z.B. das Recht, eine NEWS zu schreiben, eine NEWS zu lesen, eine NEWS zu ändern, eine
NEWS zu löschen, einen globalen TERMIN zu erstellen, einen globalen TERMIN zu löschen, usw...)
Genau so habe ich es oben auch geschrieben. du musst halt schauen, dass alle Module der Application immer die gleichen Gruppenanzahl haben (lesen, ändern, löschen, vollzugriff). Somit hast du für jedes Modul (z.B. Termine, News, Kalender, Sonstiges) diese 4 Gruppen.

Das nächste Problem wird sein, wie ordnest du die Gruppen der Benutzer zu und zwar so, dass du keine eigene Rechtetabelle brauchst. Sprich eigentlich sollte es reichen, wenn du eine Tabelle "User" hast und eine Tabelle Rechte_Gruppen.


Grüße
Dani
nizeboy
nizeboy 16.01.2008 um 17:11:56 Uhr
Goto Top
Hallo,

danke dir jetzt schonmal.
Was meinst du mit "dass alle Module der App immer die gleichen Gruppenanzahl haben"?

Hast du vielleicht im Internet eine Seite bzgl deiner "Idee"? Wo finde ich mehr Informationen darüber
Dani
Dani 16.01.2008 um 19:09:10 Uhr
Goto Top
Abend,
droße Applikationen wie z.B. SAP werden modular programmiert. Sprich es gibt ein Grundgerüst der Anwendung.
So, nun kannst du ein Modul "News" programmieren. Dadurch, dass es gekapselt ist, kannst du durch einfaches hochladen des Moduls die Implementierung vornehmen. Ohne großes HeckMeck und vorallem ohne Ausfall.

Was meinst du mit "dass alle Module der App immer die gleichen Gruppenanzahl haben"?
Das Modul "News" und "Kalender" werden immer die gleiche Anzahl von Zugriffsgruppen haben. Allgemein gesagt: Lesegrupppe, Ändergruppe, Löschgruppe und Vollzugriffsgruppe.
Du kannst aber auch einfach die Vollzugriffsgruppe weglassen und aus den Flags der 3 anderen Gruppen wieder diese Gruppe abilden. Sprich es gibt nachher ein Feld in der TAbelle "User" mit dem Namen "Zugriffsrechte". Dort stehen dann hintereinander als String einfach alles Flags aller Module auf die er Zugriff haben soll.

Nachlesen?! Puhh...gute Frage. Ich habe damals eine Schulung von SAP bekommen. Sprich die grundlegenden Dingen solcher Programmierung.

ähh..mal eine Frage: Wer wird eigentlich diese Application programmieren? Du selber, dein Team oder ne externe Firma.


Grüße
Dani
nizeboy
nizeboy 16.01.2008 um 22:03:21 Uhr
Goto Top
Das werde ich die nächsten Monate selbst machen, ist eigentlich VORERST keine große Applikation, aber wird im Laufe der Zeit zu einer werden (und dann werden es mehrere sein). Frühestens aber im Jahr 2009.

Ich will halt die Planung korrekt und möglichst sinnvoll durchführen (inkl. Rechtesystem-Gerüst)...