...
If required, additional configuration files can be specified in the command line via the argument "settings=...", "-settings=...", "--settings=..." or "/settings=...". This will check if the specified configuration file exists and will print an error message if necessary. This check can be disabled by appending a question mark to the file name. Thus also optional configuration files can be specified in the command line.
...
If multiple configurations are available, they are applied in the following order:
Default configuration (appsettings.Default.json)
Environment-specific configuration (appsettings.{environment}.json)
Installation-specific configuration (appsettings.json)
Explicit configuration
Override via environment variables
Override via command line
Structure of the configuration file
...
Property | Type | Function |
Uri | String | This property contains the URI of the desired endpoint. Schema and host are mandatory, the specification of a port is optional. If no port is specified, the respective default ports (80 for HTTP and 443 for HTTPS) are used. If no IP address is specified as the host, the specified name is converted to an IP address using DNS lookup. The IP addresses 0.0.0.0 or * represent all available IP addresses of the server. |
Certificate | JSON object | This property was used in previous versions to specify the server certificate when using HTTPS. For more information on the specification of the certificates to use, see below. This property is only supported for compatibility reasons. Please use the ServerCertificates property to specify the server certificate, which also supports the use of multiple server certificates. |
ClientCertificates | JSON object | This property is only taken into account when using HTTPS and allows authentication at connection level using client certificates (mutual TLS authentication / mTLS). A detailed description can be found in a separate section below. |
ServerCertificates | JSON object | This property is only required when using HTTPS and is used to specify the server certificates to use. A detailed description can be found in a separate section below. |
HttpProtocols | JSON array | This property specifies the HTTP protocols supported by the endpoint. The following values (as strings) are allowed here: http1 http2 If this property is not specified, HTTP/1 and HTTP/2 are supported. Support for HTTP/3 is not yet stable in the current version of the .NET Framework, so it is not offered at the moment. |
SslProtocols | JSON array | This property specifies the SSL protocols supported by the endpoint when using HTTPS. The following values (as strings) are allowed here: tls1.0 tls1.1 tls1.2 tls1.3 If this property is not specified, TLS 1.2 and TLS 1.3 are supported. Support for TLS 1.0 and TLS 1.1 is provided for compatibility reasons, but these deprecated protocols are no longer considered secure. |
HandshakeTimeout | Integer | This property defines the maximum duration of the SSL handshake in seconds before it is aborted with a timeout on the server side. |
The ClientCertificates section (JSON Object)
...
a timeout on the server side. |
The ClientCertificates section (JSON Object)
This configuration section defines the handling of client certificates. If no client certificates are to be used, the entire section can be omitted. Currently, the following properties are supported:
Property | Type | Function |
Mode | String | Defines the behavior when establishing a connection. The value "allowed" allows client certificates but does not explicitly request them from the other side, the value "required" explicitly requests a client certificate from the other side. |
Authentication | JSON object | Defines the authentication behavior at the application level (not at the connection level). This object has only one property of type boolean with the name "Enabled". If this is set to true, the name in the certificate (subject name) automatically specifies the current user. Provided that the certificate has been successfully validated, no further input of a user name or password is required for logging in. If the client certificates come from a public certification authority, the subject name should also be checked in addition to the general validity check (via SubjectRegex) in order to block foreign client certificates at the connection level. |
Validation | JSON object | This property defines the validation behavior for client certificates. It should be noted here that the validation functions of the underlying operating system are only extended by these settings. Validation is therefore initially performed by the operating system on the basis of the certificates stored there. If this validation is not successful, additional certificates can be included in the validation. Filter settings can be used to exclude certificates that are actually valid. Furthermore, an explicit check of the revocation lists can be performed, which is usually not carried out by the operating system for performance reasons. The following properties can be configured here: CheckRevokation Filters → SubjectRegex IntermediateCertificates TrustedClientCertificates TrustedRootCertificates |
The ServerCertificates section (JSON Object)
...
Property | Type | Function |
Enabled | Boolean | This option enables or disables partial encryption for objects stored as JSON. If this option is not specified, encryption of important informations (e.g. passwords) is disabled. |
Key | String | This value is included in the generation of the key so that only passwords can be decrypted only from Connect Servers where the same value is stored. If this value is not defined or empty, a default key stored in the application is used. Please note that after changing this key, all encrypted informations must be re-entered. |
Additional sections
Additional sections are supported for special scenarios The following table lists these sections along with a linke to the corresponding documentation.
Section | Documentation |
---|---|
Identity.AzureAd | Notes for authentication using Azure Active Directory (Connect 2022) |
Example
Code Block | ||
---|---|---|
| ||
... "Security": { "IpFiltering": { "Enabled": false, "Blacklist": [ ], "Whitelist": [ "::1", "127.0.0.1", "192.168.0.0/16" ] }, "JsonEncryption": { "Enabled": true, "Key": "MySecretKey!" } }, ... |
...
Property | Type | Function |
Id | String | Contains a unique ID to identify the workspace. |
DataSource | JSON object | Contains the information for connecting to the database with users, runtime information and, depending on the configuration, the Connect objects. This object supports the following properties: Name DbType ConnectionString RetentionPeriods OpenContexts CompletedContexts |
ConnectObjects | JSON object | Defines the behavior when accessing Connect objects. This object supports the following properties: Provider RootPath |
DbLogging | JSON object | Additional options for logging database access can be defined here. This object supports the following properties: LogLevel EnableSensitiveDataLogging EnableDetailedErrors |
...