2016-09-29 10 views
0

Es ist eine UWP Anwendung mit einer SQLite Datenbank. Im Folgenden werden die Abhängigkeiten für diese Anwendung:Schützen Sie eine SQLite-Datenbank in einer UWP-App

{ 
    "dependencies": { 
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.1", 
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final", 
    "Microsoft.NETCore.UniversalWindowsPlatform": "5.2.2", 
    "Microsoft.Xaml.Behaviors.Uwp.Managed": "1.1.0", 
    "Newtonsoft.Json": "8.0.3", 
    "Template10": "1.1.*" 
    }, 
    // ... 
} 

Die Anforderung ist: „[...] ein Passwort haben Zugriff auf die Datenbank entweder aus der Anwendung oder einer anderen Anwendung, die eine SQLite Datenbank öffnen kann“ .

Entity Framework Core scheint dieses Szenario nicht zu unterstützen. Irgendwelche Vorschläge?

Antwort

1

In meinem Beitrag Encryption in Microsoft.Data.Sqlite finden Sie Tipps zur Verwendung von SQLCipher und Freunden mit Microsoft.Data.Sqlite.

Der einfachste Weg, um es mit EF Core zu verwenden, ist wahrscheinlich, eine offene Verbindung mit Ihrem DbContext zu verwenden.

class MyContext : DbContext 
{ 
    SqliteConnection _connection; 

    protected override void OnConfiguring(DbContextOptionsBuilder options) 
    { 
     _connection = new SqliteConnection(_connectionString); 
     _connection.Open(); 

     var command = _connection.CreateCommand(); 
     command.CommandText = "PRAGMA key = 'password';"; 
     command.ExecuteNonQuery(); 

     options.UseSqlite(_connection); 
    } 

    protected override void Dispose() 
    { 
     _connection?.Dispose(); 
    } 
} 
+0

Warum kann ich nicht bereits kompilierte Bibliotheken finden? –

+0

Ich habe festgestellt, dass die SQLite-Community der Meinung ist, dass es am besten ist, eigene zu erstellen. Dann geben Sie die genauen Merkmale und die gewünschte Konfiguration an. Aber [wxSQLite3] (https://github.com/utelle/wxsqlite3/releases) hat einige Binärdateien. (Kann nicht auf UWP arbeiten) – bricelam

+0

Es ist wirklich enttäuschend @bricelam, dass stattdessen in Apps konzentrieren, die wir in der Regel kostenlos erstellen, schützen ein wenig die Daten, die wir erstellen, ist nicht möglich, ohne Geld und Zeit zu verschwenden. Ich vermisse die Tage von SQL Compact. –