Hallo zusammen,
ich möchte eine C# WPF Anwendung erstellen, die das EntityFramework für den Datenzugriff auf den MS SQL Server verwendet. Für die Verbindung zum SQL Server habe ich 2 generelle Ansätze aber zu beiden Bedenken hinsichtlich der Sicherheit.
Vielen Dank
Zu 1) kann ich nichts sagen.
Zu 2) Du kannst das gar nicht verhindern ... aber ein paar Anmerkungen:
Entweder sorgst du dafür, dass der Benutzer nur tun darf, was eben für Ihn erlaubt ist (das Rechtemodell im SQL-Server wird dir dabei helfen) - dann benötigst du Check-Constraints, ordentliche FKs, einige Views - vielleicht auch ein paar Stored Procedures.
Oder du kapselst das ganze in ein Trusted-Subsystem (beispielsweise eine Webschnittstelle) und kannst dann dort statt in der Datenbank das Rechtemodell unterbringen.
Was den benutzer aber nicht davon abhält trotzdem mit einem anderen Programm die Daten generieren (sofern das Programm deine Schnittstelle versteht).
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
Ich habe keine Möglichkeit gefunden, den gesamten connectionString oder zumindest das Passwort zu verschlüsseln. Geht bei reiner SQLConnection, meiner Meinung nach nicht bei EntityFramework Connection.
Genau dazu gibt es aber schon viele Infos hier im Forum.
Zum Beispiel in den FAQ : [FAQ] DB-Password/Kennwort/Connection-String sicher speichern
Grüße Bernd
PS.: Ob das auch für das Entity Framework gilt kann ich nicht sagen.
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3