Einzelnen Beitrag anzeigen

neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#8

Re: Angemeldete Nutzer und geöffnete Datenbank ermitteln

  Alt 7. Dez 2009, 18:37
Wenn man etwas Overhead in Kauf nimmt, dann kann man soetwas selbst implementieren, bspw. um immer nur eine bestimmte Anzahl von Benutzern Zugriff auf eine DB zu erlauben.

Um die Sicherheit Deiner IB/FB-DB-Zugriffe zu gewährleisten, hast Du ja sicher schon das 2-Phasen-Login implementiert. Dabei verbinden sich die User immer erst einmal mit einem 1. Login und mit einer einheitlichen und geheimen User/Passw-Kombi mit dem DB-Server, um sich dann pro DB mit der eigentlichen Benutzernamen/Passw.-Kombi zu authentifizieren. Falls das passt, gibt's das 2. Login nun mit dem "offiziellen" Usernamen und gerne auch einem anderen Passwort. Mit letzterem gelingt keinem super-erfahrenen User mehr der Zugriff auf den DB-Server via ODBC oder andere Wege über die ihm bekannte User/Passw-Kombi.

In Analogie zu obiger Vorgehensweise kann man sich beim Erstkontakt zuerst eine Liste der erlaubten DB holen, die ihrerseits praktischerweise in einer DB gehalten wird. Ich mach das mittels eines eigenen Admin-Tool, womit gerade in diese DB die Pfad/Namen bzw. Aliasnamen hinterlegt werden. (Das ist dann erweiterbar auf eine Liste erlaubter Nutzer pro DB etc.).

Nach diesem schemtaischen Aufbau habe ich nun eine Liste der verfügbaren DBs, samt der erlaubten Benutzer. Nun muss ich nur noch zu jeder DB eine Verbindung herstellen und kann die tatsächlich verbundenen User ermitteln. Dem Benutzer kann ich außerdem beim Login eine zentral vorkonfigurierte Liste der verfügbaren Datenbanken anbieten.

Wie schon in den vorherigen Antworten dargestellt, gibt es keinen IB/FB-Mechanismus "out-of-the-box" dafür; es lässt sich aber leicht eine eigene Lösung implementieren, die dann genau das leistet, was benötigt wird.

--
Andreas
Andreas
  Mit Zitat antworten Zitat