Hallöle...
Zitat:
"SecuritySystem" von TMS ausprobiert
...da standen die Paßworter im Klartext in der
DB Tabelle.
Zitat:
und dann Rechte auf z.B. verschiedene Buttons/Menüs/etc. zuweisen (das ist der komplexere Teil)
...imho darf das Rechtesystem nicht wissen welchen "Button/Menüpunkt" es steuern soll.
Trennung
GUI/Logic...Das Recht für "FunktionX" hat einen z.B. eindeutigen Wert (Integer etc.). In der
Businesslogic wird das Recht dem
entsprechenden "Button" zugeordnet.
Delphi-Quellcode:
lagHistory.Visible := IsRightAllowed(25025) and (UpperCase(FLogic.CurrentStoreName) = 'Blubb');
...
Zum Thema:
* 3 Tabellen...User, UserRole, UserRights. Der User hat eine Rolle. Die Rolle kennt ihre Rechte.
* mit der Anmeldung bekommt der User
seine Rechte
* eigene
function IsRightAllowed(RightID: Integer): Boolean; wenn benötigt auswerten
* eigene Userverwaltung schreiben (Rollen/Rechte)
Problem:
Kommen Rechte hinzu oder werden gelöscht, was bei einem dynamischen System normal ist, muß das neue Recht bei allen bestehen Rollen "angehängt/gelöscht" werden. Dafür muß eine Logic entstehen...
OpenSource:
Keine OpenSource Lösung kommt an deine Anforderungen heran.
Es ist immer was nicht richtig...dann gleich selbst.