Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Um Passwörtern im Klartext zu vermeiden, werden können diese vor der Speicherung in Dateien oder in der Datenbank verschlüsselt werden. Das genaue Verhalten wird durch folgende Eigenschaften definiert:

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 Passwörtern deaktiviert.

Key

String

Dieser Wert wird bei der Generierung des Schlüssels miteinbezogen, so dass nur 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 gespeicherten Passwörter neu eingegeben werden müssen.

Beispiel

Code Block
languagejson
...

  "Security": {
    "IpFiltering": {
      "Enabled": false,
      "Blacklist": [
      ],
      "Whitelist": [
        "::1",
        "127.0.0.1",
        "192.168.0.0/16"
      ]
    },
    "JsonEncryption": {
      "Enabled": true,
      "Key": "MySecretKey!"
    }
  },

...

...

ConnectObjectsDefiniert

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
Enthält die ID des Workspaces. Dieser Wert muss normalerweise nicht angegeben werden und wird automatisch vorbelegt.

DbType
Definiert den Typ der verwendeten Datenbank. Derzeit werden hier die Werte “Sqlite” und ”SqlServer” unterstützt. Eine Unterstützung für “MySql” ist in Planung.

ConnectionString
Die Verbindungszeichenfolge, welche zum Herstellen der Verbindung mit der Datenbank verwendet wird. Bei der Verwendung von SQLite kann diese Eigenschaft weggelassen werden.

RetentionPeriods
Dieses JSON Objekt

definiert die Aufbewahrungszeiten für bestimmte Datentypen. Es enthält folgende Attribute:

OpenContexts
Aufbewahrungszeitraum für nicht abgeschlossene Transaktionen in Tagen.

CompletedContexts
Aufbewahrungszeitraum für abgeschlossene Transaktionen in Tagen.

ConnectObjects

JSON Objekt

Definiert das Verhalten beim Zugriff auf Connect Objekte. Dieses Objekt unterstützt folgende Eigenschaften:

Provider
Definiert den für den Zugriff auf Connect-Objekte verwendeten Provider. Hier werden die Werte “Database” (Speicherung in der Datenbank) und “FileSystem” (Speicherung im Dateisystem) unterstützt.

RootPath
Sofern der Provider “FileSystem” verwendet wird, muss hier das Stammverzeichnis für die Ablage der Connect-Objekte definiert werden. Wird eine SQLite-Datenbank ohne Angabe eines Connection Strings verwendet, so definiert dieser Pfad auch das Verzeichnis, in dem die Datenbankdateien abgelegt werden.

DbLogging

JSON Objekt

Hier können zusätzliche Optionen für die Protokollierung des Datenbankzugriffs definiert werden. Dieses Objekt unterstützt folgende Eigenschaften:

LogLevel
Der gewünschte Detailgrad für Datenbank-spezifische Protokollausgaben. Es werden die Werte “Trace”, “Debug”, “Information”, “Warning” und “Error” unterstützt. Wird diese Eigenschaft nicht angegeben, wird der Standardwert “Error” verwendet.

EnableSensitiveDataLogging
Wird dieser Wert auf “true” gesetzt, so werden bei der Protokollierung auch Feldinhalte mit ausgegeben, andernfalls werden diese stets unterdrückt.

EnableDetailedErrors
Wird dieser Wert auf “true” gesetzt, so werden bei der Protokollierung detaillierte Fehlermeldungen der Datenbank ausgegeben.

...

Code Block
languagejson
...
  
  "Workspace": {
    "Id": "connect",
    "DataSource": {
      "DbType": "SqlServer",
      "ConnectionString": "Data Source=.\\SQLEXPRESS;Initial Catalog=connect;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
      "RetentionPeriods": {
        "OpenContexts": 3,
        "CompletedContexts": 1
      }
    },
    "ConnectObjects": {
      "Provider": "Database",
      "RootPath": ""
    },
    "DbLogging": {
      "LogLevel": "Warning",
      "EnableSensitiveDataLogging": false,
      "EnableDetailedErrors": true
    }
  }

...
Der Abschnitt “RetentionPeriods” (JSON Objekt)

Für die Operations-Datenbank können zusätzlich Aufbewahrungszeiträume für Workflow-Kontexte definiert werden. Die Zeiträume werden in einem separaten Abschnitt “RetentionPeriods” definiert und können folgende Informationen enthalten.

...

Eigenschaft

...

Typ

...

Funktion

...

OpenContexts

...

Number

...

Aufbewahrungszeitraum für nicht abgeschlossene Transaktionen in Tagen.

...

CompletedContexts

...

Number

...

Aufbewahrungszeitraum für abgeschlossene Transaktionen in Tagen.

Beispiel:

Code Block
...
        "Operations": {
          "RetentionPeriods": {
            "OpenContexts": 3,
            "CompletedContexts": 1
          }
        }
...        

Beispielkonfiguration

Das folgende Beispiel zeigt die möglichen Connect-spezifischen Konfigurationseinstellungen:

...

Beispielkonfiguration

Das folgende Beispiel zeigt die möglichen Connect-spezifischen Konfigurationseinstellungen:

Code Block
{
  "AllowedHosts": "*",

  "Debug": {
    "HttpLogging": {
      "Enabled": false,
      "Include": [
        ".*"
      ],
      "Exclude": [
        "^(http|https)://[^/]+/_content/",
        "^(http|https)://[^/]+/_framework/",
        "^(http|https)://[^/]+/api/",
        "^(http|https)://[^/]+/css/",
        "^(http|https)://[^/]+/font/",
        "^(http|https)://[^/]+/js/",
        "^(http|https)://[^/]+/lib/",
        "^(http|https)://[^/]+/[sS]erver/",

        "^(http|https)://[^/]+/$",
        "^(http|https)://[^/]+/favicon.ico$",
        "^(http|https)://[^/]+/index.html$",
        "^(http|https)://[^/]+/[sS]erver$",
        "^(http|https)://[^/]+/[^/]+.css$"
      ],
      "ForceHexDump": false
    }
  },

  "Endpoints": [
    {
      "Uri": "http://*:80"
    }
  ],

  "Frontend": {
    "SupportedLanguages": [ "de", "en", "es", "fr", "it", "nl" ]
  },

  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },

  "Security": {
    "IpFiltering": {
      "Enabled": false,
      "Blacklist": [
      ],
      "Whitelist": [
        "::1",
        "127.0.0.1",
        "192.168.0.0/16"
      ]
    },
    "JsonEncryption": {
    ]  "Enabled": true,
 },     "JsonEncryptionKeyKey": "MySecretKey!"
    }
  },

  "Workspace": {
    "Id": "connect",
    "DataSource": {
      "DbType": "sqlite",
      "RetentionPeriods": {
        "OpenContexts": 14,
        "CompletedContexts": 7
      }
    },
    "ConnectObjects": {
      "Provider": "filesystem",
      "RootPath": "Workspaces/connect"
    },
    "DbLogging": {
      "LogLevel": "Warning",
      "EnableSensitiveDataLogging": false,
      "EnableDetailedErrors": true
    }
  }
}

...