Registriert seit: 18. Nov 2003
Ort: Uetersen
271 Beiträge
Delphi 2005 Architect
|
Re: Datenbankanwendung mit Benutzerrechten... Wer kann helfe
29. Dez 2004, 08:18
Zitat von Jelly:
Mit der Abfrage in deine Anwendung hast du noch kein Sicherheitsloch gestopft. Die Tabellensperre muss auf Datenbankebene erfolgen, vorausgesetzt du nutzt ein Datenbanksystem, welches das auch unterstützt. Von Firbird über MySQL, bis hin zu MSSQL oder Oracle bist du da aber auf der sicheren Seite.
Für eine klassische Client/Server Anwendung mag das zutreffen. Bei einer mehrschichtigen Anwendung oder auch einen Webinterface wird sich der Anwender in der Regel nicht direkt gegen die Datenbank identifizieren. Hier sollte dies dann auf Anwendungsebene passieren.
Ich mache das immer so:
- Kennwort für die Datenbank wird als verschlüsselter String in der Anwendung gespeichert und erst zur Laufzeit entschlüsselt, z.b. Blowfish Algorythmus). Der Key befindet sich ebenfalls in der Anwendung und sollte möglichst Sonderzeichen enthalten. Ist bei uns nicht sicherheitskritisch, da die Datenbankanbindung über einen Delphi SOAP Server stattfindet. Die Clients greifen nur über SOAP auf den Server zu.
- Benutzer werden in einer Tabelle gespeichert (ID,Benutzername,Kennwort,etc...)
- Für Benutzerrechte gibt es eine entsprechende Tabelle (Benutzer_ID,Mandant,Recht).
- Alle Funktionen der Anwendung sind als Aktionen (TAktion) definiert und es muss nur die Eigenschaft Enabled entsprechend gesetzt werden, dies mache ich gleich nach der Anmeldung.
Gruß,
Marcel
Marcel Gascoyne Der Fehler sitzt immer vor der Tastatur
|
|
Zitat
|