Git Datenbank?

julihan41  27.05.2024, 13:23

Willst du wirklich, dass sich jeder einfach so mit deiner Datenbank verbinden kann!?

Valentin2882 
Fragesteller
 27.05.2024, 15:54

Vielen Dank hatte ein Logikfehler wenn ich die Datenauslese dann kann jeder natürlich die Daten manipulieren ohne Passwort, Danke. :)

1 Antwort

Von Experte Palladin007 bestätigt

Das ist so nicht möglich. Wenn andere sich mit der Datenbank verbinden können, können diese auch an das Passwort kommen.

Üblicherweise wird es in .NET so gemacht das wenn man z.B. die Microsoft Configuration Library nutzt, dass man Dinge wie einen Api-Schlüssel oder in deinem Fall den Connection-String zur Db im Secret-Manager in Visual Studio als Json speichert. Diese werden dann nur auf dem Lokalen Gerät aufbewart und nicht von Git erfasst. In der Dokumentation zur App kannst du dann schreiben wo der Connection-String zur Datenbank hin muss.

Kommen wir zurück zum Thema das jeder auf die Db zugreifen kann. Theoretisch könnte man in der Db ein Nutzer erstellen der für die Db read-only berechtigungen hat, allerdings wäre das jenachdem was darin gespeichert ist auch nicht sinnvoll (weiß auch garnicht inwiefern das bei anbietern wie Hostinger überhaupt geht).

Der Sinnvollste weg um jedem quasi zugriff auf Db zugeben wäre eine WebApi zu hosten die auf die Db zugreift, da du innerhalb der Api verwalten kannst wer auf was in der Db zugriff hat. Somit würde der Connection-String immer auf dem Server der WebApi bleiben. Nachteil daran ist halt das diese Api irgendwo gehostet werden muss.

Generell kommt es daruf an was du da konkret machen willst um zu entscheiden was am sinnvollsten ist.

lg Suiram1

Woher ich das weiß:Hobby – Ich programmiere seit 3 Jahren mit C#

Valentin2882 
Fragesteller
 27.05.2024, 15:53

Also würden Sie einfach eine Json erstellen (Inhalt = Passwort) und diese in der Gitignore einschließen. Wenn ich kein NugetPaket nehmen will.

0
Suiram1  27.05.2024, 16:01
@Valentin2882

Mit der Gitignore kannst du dann auch dafür nutzen. Also ja eine Json die etwa so aussieht:

{
    "ConnectionString": "Server=mysqlServer.com;Database=meineDB;Uid=user;Pwd=pwd;"
}

Das Json kannst du dann parsen und so nutzen. Wichtig bleibt aber das wenn es sich um eine Projekt handelt wo gedacht ist das dieses auch von anderen genutzt werden kann auch dokumentiert ist wo der Connection-String zu deren Db hinkommt.

0