...
Bei Bedarf können in der Kommandozeile über das Argument “settings=…”, “-settings=…”, “--settings=…” oder “/settings=…” zusätzliche Konfigurationsdateien angegeben werden. Hierbei wird geprüft, ob die angegebene Konfigurationsdatei vorhanden ist und gegebenenfalls eine Fehlermeldung ausgegeben. Diese Prüfung kann deaktiviert werden, indem an den Dateinamen ein Fragezeichen angehängt wird. Dadurch lassen sich auch optionale Konfigurationsdateien in der Kommandozeile spezifizieren.
...
Sind mehrere Konfigurationen verfügbar, so werden diese in folgender Reihenfolge angewendet:
Standardkonfiguration (appsettings.Default.json)
Umgebungsspezifische Konfiguration (appsettings.{environment}.json)
Installationsspezifische Konfiguration (appsettings.json)
Explizite Konfiguration
Übersteuerung durch Umgebungsvariablen
Übersteuerung durch die Kommandozeile
Struktur der Konfigurationsdatei
...
Dieser Abschnitt dient zur Konfiguration des integrierten Webservers und enthält ein Array mit Informationen zu den EnpointsEndpoints. Die einzelnen Elemente des Arrays besitzen folgende Eigenschaften:
Eigenschaft | Typ | Funktion |
Uri | String | Diese Eigenschaft enthält die URI des gewünschten Endpoints. Schema und Host werden zwingend benötigt, die Angabe eines Ports ist optional. Ist kein Port angegeben, so werden die jeweiligen Standard-Ports (80 bei HTTP und 443 bei HTTPS) verwendet. Wird als Host keine IP-Adresse angegeben, so wird der angegebene Name mittels DNS Lookup in eine IP-Adresse umgewandelt. Die IP-Adressen 0.0.0.0 oder * stehen für alle verfügbaren IP-Adressen des Servers. |
Certificate | JSON Objekt | Diese Eigenschaft wurde in früheren Versionen zur Festlegung des Serverzertifikats bei der Verwendung von HTTPS genutzt. Nähere Informationen zur Spezifikation der zu verwendenden Zertifikate finden Sie weiter unten. Diese Eigenschaft wird lediglich aus Kompatibilitätsgründen weiterhin unterstützt. Bitte verwenden Sie zur Festlegung des Serverzertifikats die Eigenschaft “ServerCertificates”, welche auch die Verwendung mehrerer Serverzertifikate unterstützt. |
ClientCertificates | JSON Objekt | Diese Eigenschaft wird nur bei der Verwendung von HTTPS berücksichtigt und ermöglicht eine Authentifizierung auf Verbindungebene mit Hilfe von Client-Zertifikaten (mutual TLS authentication / mTLS). Eine detaillierte Beschreibung befindet sich in einem Separaten separaten Abschnitt weiter unten. |
ServerCertificates | JSON Objekt | Diese Eigenschaft wird nur bei der Verwendung von HTTPS benötigt und dient der Festlegung der zu verwendenden Serverzertifikate. Eine detaillierte Beschreibung befindet sich in einem Separaten separaten Abschnitt weiter unten. |
HttpProtocals | JSON Array | Diese Eigenschaft spezifiziert die vom Endpoint unterstützten HTTP Protokolle. Folgende Werte (als Strings) sind hier zulässig: http1 http2 Wird diese Eigenschaft nicht angegeben, so werden HTTP/1 und HTTP/2 unterstützt. Die Unterstützung von HTTP/3 seitens der aktuellen Version des .NET Frameworks ist derzeit noch nicht stabil, daher wird sie momentan nicht angeboten. |
SslProtocols | JSON Array | Diese Eigenschaft spezifiziert die vom Endpoint bei Verwendung von HTTPS unterstützten SSL Protokolle. Folgende Werte (als Strings) sind hier zulässig: tls1.0 tls1.1 tls1.2 tls1.3 Wird diese Eigenschaft nicht angegeben, so werden TLS 1.2 und TLS 1.3 unterstützt. Die Unterstützung von TLS 1.0 und TLS 1.1 wir aus Kompatibilitätsgründen angeboten, diese veralteten Protokolle gelten jedoch als nicht mehr sicher. |
HandschakeTimeout | Integer | Diese Eigenschaft definiert die maximale Dauer des SSL Handshakes in Sekunden bevor serverseitig mit einem Timeout abgebrochen wird. |
...
Eigenschaft | Typ | Funktion |
Mode | String | Definiert das Verhalten beim Verbindungsaufbau. Der Wert “allowed” lässt Clientzertifikate zurzu, fordert diese aber nicht explizit von der Gegenseite an, der . Der Wert “required” fordert die Gegenseite explizit zur Übermittelung eines Clientzertifikats auf. |
Authentication | JSON Object | Definiert das Authentifizierungsverhalten auf Applikationsebene (nicht auf Verbindungsebene). Dieses Objekt besitzt lediglich eine Eigenschaft vom Type Typ Boolean mit dem Namen “Enabled”. Wird diese auf true gesetzt, so legt der Name im Zertifikat (Subject Name) automatisch den aktuellen Benutzer fest. Sofern ds das Zertifikat erfolgreich validiert wurde, ist für die Anmeldung keine weitere Eingabe eines Benutzernamens oder Passworts erforderlich. Stammen die Clientzertifikate von einer öffentlichen Zertifizierungsstelle, sollte zusätzlich zur allgemeinen Gültigkeitsprüfung auch eine Prüfung des Subject Names erfolgen (über SubjectRegex), um fremde Clientzertifikate bereits auf Verbindungsebene zu blockieren. |
Validation | JSON Object | Diese Eigenschaft definiert das Validierungsverhalten für Clientzertifikate. Hierbei ist zu beachten, dass die Validierungsfunktionen des zugrundeliegenden Betriebssystems durch diese Einstellungen lediglich erweitert werden. Die Validierung erfolgt also zunächst durch das Betriebssystem auf Basis der dort hinterlegten Zertifikate. Ist diese Validierung nicht erfolgreich, so können zusätzliche Zertifikate in die Validierung miteinbezogen werden. Mit Hilfe der Filtereinstellungen können eigentlich gültige Zertifikate ausgeschlossen werden. Außerdem ist eine explizite Prüfung der Revokation-Listen möglich, welche vom Betriebssystem aus Performancegründen in der Regel nicht vorgenommen wird. Folgende Eigenschaften können hier konfiguriert werden: CheckRevokation Filters → SubjectRegex IntermediateCertificates TrustedClientCertificates TrustedRootCertificates |
...
Eigenschaft | Typ | Funktion |
Enabled | Boolean | Diese Option aktiviert oder deaktiviert die partielle Verschlüsselung für als JSON abgelegte Objekte. Ist diese Option nicht angegeben, ist die Verschlüsselung von wichtige Informationen (z.B. Passwörter) deaktiviert. |
Key | String | Dieser Wert wird bei der Generierung des Schlüssels miteinbezogen, so dass wichtige Informationen (z.B. Passwörter) nur von Connect Servern entschlüsselt werden können, bei denen derselbe Wert hinterlegt ist. Ist dieser Wert nicht definiert oder leer, so wird ein in der Applikation hinterlegter Standardschlüssel verwendet. Bitte beachten Sie, dass nach einer Änderung dieses Schlüssels alle verschlüsselten Informationen neu eingegeben werden müssen. |
Weitere Abschnitte
Für spezielle Szenarien werden zusätzliche Abschnitte unterstützt. In der folgenden Tabelle sind diese Abschnitte zusammen mit einem Link zur entsprechenden Dokumentation aufgeführt.
Abschnitt | Dokumentation |
---|---|
Identity.AzureAd | Hinweise für die Authentifizierung über Azure Active Directory (Connect 2022) |
Beispiel
Code Block | ||
---|---|---|
| ||
... "Security": { "IpFiltering": { "Enabled": false, "Blacklist": [ ], "Whitelist": [ "::1", "127.0.0.1", "192.168.0.0/16" ] }, "JsonEncryption": { "Enabled": true, "Key": "MySecretKey!" } }, ... |
...
Eigenschaft | Typ | Funktion |
Id | String | Enthält eine eindeutige ID zur Identifikation des Workspaces. |
DataSource | JSON Objekt | Enthält die Informationen für die Verbindung mit der Datenbank mit Benutzern, Laufzeitinformationen und, je nach Konfiguration, den Connect Objekten. Dieses Objekt unterstützt folgende Eigenschaften: Name DbType ConnectionString RetentionPeriods OpenContexts CompletedContexts |
ConnectObjects | JSON Objekt | Definiert das Verhalten beim Zugriff auf Connect Objekte. Dieses Objekt unterstützt folgende Eigenschaften: Provider RootPath |
DbLogging | JSON Objekt | Hier können zusätzliche Optionen für die Protokollierung des Datenbankzugriffs definiert werden. Dieses Objekt unterstützt folgende Eigenschaften: LogLevel EnableSensitiveDataLogging EnableDetailedErrors |
...