Einzelnen Beitrag anzeigen

Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.614 Beiträge
 
#1

App.Config: Vom Admin bearbeitbar machen?

  Alt 16. Nov 2006, 17:34
Ich bin grad am umstruktieren eines mittleren Projektes. Konkret geht es hier gerade um Zentrale Einstellungen zur Datenbankverbindung, (aber eben nur die Konfigurationsdaten dafür, nicht die DB an sich, deswegen auch .NET Sparte ).

Ich habe mir folgendes Überlegt:

Die Installierte Anwendung soll die Wahl zwischen verschiedenen Datenbanken zum Verbinden dem User überlassen, der sich anmelden will. Der User hat also eine Liste mit verschiedenen DB's, wählt da eine aus und meldet sich dort an.

Der Administrator (ich meine hier den Windows-Admin, also ein User mit lokalen Adminrechten) soll zusätzlich die Möglichkeit haben, diese verschiedenen Datenbanken die den Usern an der entsprechenden Maschine zur Auswahl stehen zu konfigurieren.

Mein Gedankengang war der: Diese DB-Config kommt in die App.Config ins Anwendungsverzeichnis. Nur ein lokaler Admin hat die Rechte hier zu schreiben, damit ist schonmal sichergestellt dass kein User die verändern kann.

Würde ich diese Konfiguration unter All Users vornehmen muss ich mich von Hand darum kümmern, dass nur ein berechtigter User das darf. Und dann könnten findige Benutzer diese Einstellungen dennoch unter Umgehung der Anwendung manipulieren. Dies fällt also aus.

Wie bekomme ich es nun hin, dass der Admin die globale App.config bearbeiten kann und die Anwendung das auch gleich mitbekommt? In der Zielumgebung kann ich dem Admin nicht zumuten, ein Config File von Hand anzupacken, wenn ich vermeiden will danach jedesmal selber wieder Hand anzulegen damit die Anwendung wieder läuft. Zumal ich ja die DB-Passwörter irgendwie ablegen muss (nein, Windows-Based Authentication geht da nicht), so dass die Verwendung eines separaten Tools vonnöten ist, was ich unter allen Umständen vermeiden will.

Usersettings taugen hier auch nicht, weil die Datenbankeinstellungen ja global notwendig sind.

Also: What to do?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat