2009-04-27 6 views
0

Ich habe noch nie eine Anwendung außerhalb meines Firmensystems entwickelt, in der wir nur Windows-Authentifizierung von unserer Domäne verwenden, aber ich möchte lernen, wie eine sichere Anwendung entwickelt wird, die ich mit einer entfernten Datenbank verbinden kann .Sichere Verbindung mit der Datenbank innerhalb einer Anwendung

Ich weiß, es ist einfacher, wenn ich ASP.Net verwenden, da die Datenverbindungen auf der Serverseite sind, aber ich möchte auch eine WPF-Anwendung für administrative Aufgaben haben. Hier

ist, was ich von zu einer Datenbank denke sicher verbinden:

Zuerst hat eine SSL-Verbindung zur Datenbank immer, einen Standardbenutzer haben/pass also Klartext in der Konfigurationsdatei des Programms, wo es ist nur der Zugriff auf eine Anmeldeprozedur in der Datenbank, in der der Benutzer seine Datenbankanmeldeinformationen eingibt und der Standardbenutzer/-durchlauf mit der Datenbank verbunden wird und die vom Benutzer dargestellten Anmeldeinformationen weitergibt.

Die Prozedur wird dann ein Paar Anmeldeinformationen übergeben, die die Anwendung für den Rest der Sitzung des angemeldeten Benutzers verwendet. Ist das eine gute Möglichkeit, sich dem Thema zu nähern? Und sollte ich darüber nachdenken, einen Webdienst von WCF als Schnittstelle anstelle von direkter Verbindung zu verwenden?

Antwort

1

Warum dieser Komplex? Lassen Sie den Benutzer einfach den Benutzernamen und das Kennwort der Datenbank eingeben und versuchen Sie dann, eine Verbindung zum Server über eine SSL-Verbindung herzustellen. Der Server verfügt bereits über ein voll funktionsfähiges Benutzerverwaltungssystem. Sie müssen also kein neues Benutzerverwaltungssystem erstellen, wenn Sie nur für wenige Personen Zugriff benötigen.

+0

Amen - Programmierer versuchen immer die Benutzerverwaltung wiederherzustellen, während sie mit der DB mit "default user/pass" verbinden ... Ich vermute, das liegt daran, dass DBAs langsam oder mürrisch sind, um Benutzer zur DB hinzuzufügen ...! -) –

+0

Nein, ich bin der einzige Entwickler und DBA für dieses Projekt. Aber ich werde es wahrscheinlich am Ende tun, aber ich denke darüber nach, weil ich nicht möchte, dass sich Benutzer direkt auf dem SQL-Server einloggen. haben sie nur erlaubt, die Anwendung zu verwenden, um auf die Daten zuzugreifen. – greektreat

+0

@Daniel Brückner: Warte - Sie sagen, Sie benötigen einen DB-Benutzer pro Benutzer der Anwendung? Ist das skalierbar? –

Verwandte Themen