AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) C# App.Config: Vom Admin bearbeitbar machen?
Thema durchsuchen
Ansicht
Themen-Optionen

App.Config: Vom Admin bearbeitbar machen?

Ein Thema von Phoenix · begonnen am 16. Nov 2006 · letzter Beitrag vom 17. Nov 2006
Antwort Antwort
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.608 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
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#2

Re: App.Config: Vom Admin bearbeitbar machen?

  Alt 17. Nov 2006, 10:19
Hallo Sebastian,

auf alles kann ich nicht antworten; aber ein paar Hinweise habe ich doch.

Die app.config scheint innerhalb des Programms nach wie vor read-only zu sein (auch unter NET 2.0 mit dem ConfigurationManager): Ich habe Änderungen aus einem Programm heraus versucht (ohne Fehlermeldung), aber nichts wurde geändert; später habe ich in einem Forumsbeitrag (ich glaube myCSharp.de) in einer Randbemerkung eine entsprechende Bestätigung gelesen.

Für die Änderung durch den Admin brauchst Du also wohl ein kleines Hilfsprogramm.

Für die Anpassung des Programms selbst solltest Du Dir die Delphi-Referenz durchsuchenFileSystemWatcher-Klasse ansehen.

Viel Erfolg! Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.608 Beiträge
 
#3

Re: App.Config: Vom Admin bearbeitbar machen?

  Alt 17. Nov 2006, 11:57
Ja, ich war mir auch ziemlich sicher dass ich gelesen hab dass das readonly ist. Aber das ist imho ja etwas bescheiden by design.

Man kann die app.config zwar auch innerhalb der Anwendung modifizieren (dann halt als normales .xml-File öffnen und speichern), aber die Anwendung selber bekommt die Änderungen erst beim nächsten Neustart mit - und ich kann niemandem verklickern wenn er vom Login-Dialog mit einem Button in die DB-Konfiguration kommt, dass er dann die Anwendung neu starten muss wenn er eine frisch angelegte Connection nutzen will.

Da muss es doch einen Weg geben?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#4

Re: App.Config: Vom Admin bearbeitbar machen?

  Alt 17. Nov 2006, 12:22
Zitat von Phoenix:
Ja, ich war mir auch ziemlich sicher dass ich gelesen hab dass das readonly ist. Aber das ist imho ja etwas bescheiden by design.
Und ob!
Zitat von Phoenix:
Man kann die app.config zwar auch innerhalb der Anwendung modifizieren (dann halt als normales .xml-File öffnen und speichern),
Richtig. Das hatte ich meinem Vorschlag eines Hilfsprogramms für den Admin gemeint; das kann er auch aus dem Programm heraus machen.
Zitat von Phoenix:
... aber die Anwendung selber bekommt die Änderungen erst beim nächsten Neustart mit...

Da muss es doch einen Weg geben?
Dafür hatte ich Dich auf die Delphi-Referenz durchsuchenFileSystemWatcher-Klasse hingewiesen: Die Anwendung überwacht Änderungen ihrer eigenen app.config; wenn sie Änderungen feststellt, dann soll sie sie sofort einlesen und benutzen.

Gruß Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.608 Beiträge
 
#5

Re: App.Config: Vom Admin bearbeitbar machen?

  Alt 17. Nov 2006, 12:32
Ahhhh Na, dann werd ich mir das mal bei Gelegenheit reinziehen. So heut abend oder so. Vielen Dank *g*
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#6

Re: App.Config: Vom Admin bearbeitbar machen?

  Alt 17. Nov 2006, 12:43
Zusätzlicher Hinweis: Für Deine Zwecke ist wohl auch die Delphi-Referenz durchsuchenConfigurationManager.RefreshSection-Methode hilfreich. Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz