Web-Client-Konfiguration
Information
Im Folgenden wird die Konfiguration des PLANTA Web-Clients beschrieben.
Grundlagen
Information
Es gibt verschiedene Optionen, um Konfigurationen anzuwenden. Im Folgenden werden die Möglichkeiten von der niedrigsten zur höchsten Priorität aufgelistet.
Wenn eine Variable an mehr als einem Ort definiert ist, wird die Stelle mit der höchsten Priorität angewandt:
appsettings.json: Haupt-(Default-)Konfiguration, Änderungen nicht empfohlenappsettings.[Environment].json: umgebungsspezifische (z. B. Produktion) KonfigurationUmgebungsvariablen
Kommandozeilenparameter
Parameter außerhalb des JSON-Formats definieren
Information
Für Umgebungsvariablen und Kommandozeilenparameter muss ein bestimmtes Format verwendet werden:
Parameter innerhalb eines Blocks definieren
JSON: | Kommandozeile: | |
JS
|
CODE
|
Parameter innerhalb eines Arrays definieren
JSON: | ServerB-Port in der Kommandozeile überschreiben: | |
JS
|
CODE
|
Parameter
Information
Die folgenden Parameter können zur Konfiguration des Web-Clients verwendet werden.
Dotnet-Einstellungen
Information
Die Variable
ASPNETCORE_ENVIRONMENTkann aufDevelopmentgesetzt werden. Dadurch wird bei einer Fehlermeldung eine Schaltfläche angezeigt, über die der Stacktrace kopiert werden kann.
Verbindungseinstellungen
Information
Parameter, die den Serverstart und die Kommunikation mit dem PLANTA-Server definieren.
Sie müssen innerhalb des Blocks
ConnectionSettingsdefiniert werden.
Parameter | Typ | Default | Beschreibung | Ab/Bis Version |
|---|---|---|---|---|
| int | 6 | Zlib compression level, Zahl zwischen 0 und 9. Wird ignoriert, wenn | |
| string | de-DE | Culture Code, der von der Anwendung verwendet wird. Hängt vom Host-Betriebssystem ab. Eine Liste von Culture Codes findet sich auch online. | |
| string | null |
| |
| int | 60 | Zeitintervall zwischen Keepalive-Signalen an den PLANTA-Server, in Sekunden | |
| int | 5 | Request Timeout für Routing-Anfragen an PLANTA link | |
| string | null | Der PLANTA link Webhook, der für das Routing benötigt wird | |
| int | 1440 | Zeit, in der der Web-Server die Panel-Informationen speichert, wenn der Benutzer die Verbindung abgebrochen oder die Seite verlassen hat, in Minuten | |
| string | null |
| |
| int | 7200 | Zeit, in der der Web-Server die Session-Informationen speichert, wenn der Benutzer die Verbindung abgebrochen oder die Seite verlassen hat, in Minuten | |
| array | null | Liste der PLANTA-Server, muss mindestens einen Eintrag enthalten. Mehr Informationen | |
| bool | true | Definiert, ob die Kommunikation mit dem PLANTA-Server komprimiert werden soll | |
| string | null |
| |
| bool | false | Definiert, ob SSL für die Kommunikation mit dem PLANTA-Server aktiviert sein soll |
Einstellungen des Parameters Servers
Parameter | Typ | Beschreibung | Ab/Bis Version |
|---|---|---|---|
| string | Server-Host-Name | |
| int | Server-Port |
AI-Einstellungen
Parameter | Typ | Beschreibung | Ab/Bis Version |
|---|---|---|---|
| string | URL des AI-Assistenten-Chats. |
Die Konfiguration des KI-Assistenten wird in einem separaten Container vorgenommen. Siehe hier.
Data Protection-Einstellungen
Information
Parameter zur Steuerung der Data Protection API.
Sie müssen innerhalb das Blocks
DataProtectionSettingsdefiniert werden.
Parameter | Typ | Default | Beschreibung | Ab/Bis Version |
|---|---|---|---|---|
| String | PLANTA Webclient | Bezeichnung der Anwendung für Data Protection-Zwecke. | |
| String | %ApplicationFilesPath%/DataProtectionKeys | Verzeichnispfad, in dem die Data Protection-Schlüssel gespeichert werden. | |
| String | AES_256_CBC | Der für Data Protection verwendete Verschlüsselungsalgorithmus. Mögliche Werte siehe hier. | |
| String | HMACSHA256 | Der für Data Protection verwendete Validierungsalgorithmus. Mögliche Werte siehe hier. | |
| String | Thumbprint des für Data Protection verwendeten Verschlüsselungszertifikats. Wenn kein Wert eingetragen wird, werden die Schlüsseldateien nicht verschlüsselt. |
Authentifizierungs-Einstellungen
Information
Parameter, mit denen konfiguriert wird, ob und wie der Reverse-Proxy uns über den authentifizierten Benutzer informiert. Hierzu ist der Einsatz von PLANTA PLANTA secure erforderlich.
Sie müssen innerhalb des Blocks
AuthenticationSettingsdefiniert werden.
Parameter | Typ | Default | Beschreibung | Ab/Bis Version |
|---|---|---|---|---|
| bool | false | Wenn diese Option aktiviert ist, sendet der Webclient während der Sitzungsinitialisierung eine Nachricht an den Server, die ihn über die Vorauthentifizierung und die entsprechende Benutzerkennung informiert. | |
| bool | false | When enabled, the Webclient will use JWT/OIDC for authentication (enables OIDC flows). Deprecated ab 3.7.2 Verwenden Sie stattdessen | Bis 3.7.1 |
| bool | false | When true the client initiates the OIDC login flow by itself; otherwise the OIDC login flow will be initiated by reverse proxy. Deprecated ab 3.7.2 Verwenden Sie stattdessen | Bis 3.7.1 |
| bool | false | Aktiviert OIDC-Authentifizierung. Ersetzt die bisherigen Parameter | Ab 3.7.2 |
| string | plain | Das Format, in dem der Wert bereitgestellt wird. Bisher ist nur das Format "plain" implementiert, das den Header-Wert an den Server weitergibt. | |
| string | x-forwarded-user | Der Name des HTTP-Header-Feldes, das die vom Reverse-Proxy authentifizierte Benutzer-ID enthält. | |
| string | x-forwarded-access-token | Der Name des HTTP-Cookies, das das JWT-Zugriffstoken enthält | |
| string | x-forwarded-id-token | Der Name des HTTP-Cookies, das das JWT-ID-Token enthält | |
| string | / | Der Web-Basispfad, den der Reverse-Proxy für den Webclient verwendet, z. B. wenn der Webclient auf dem Reverse-Proxy unter http://www.example.com/webclient erreichbar ist, lautet der Basispfad /webclient. | |
| string | Logout-Route, die aufgerufen wird, wenn der Benutzer seine Sitzung auf dem Reverse-Proxy beenden möchte. | ||
| OIDC settings | Konfiguration für die OpenID Connect-Authentifizierung. | ||
| ReverseProxyJwtSettings | Konfiguration für die JWT-Authentifizierung über Reverse-Proxy (standardmäßig Cloudflare). |
ReverseProxyJWT-Einstellungen
Parameter | Typ | Defaut | Beschreibung | Ab/Bis Version |
|---|---|---|---|---|
| string |
| The HTTP header key that contains the application JWT from the reverse proxy (default: Der HTTP-Header-Schlüssel, der das Anwendungs-JWT vom Reverse-Proxy enthält. Der Authentifizierungsdienst überprüft auch, ob der Header-Name | |
| string | Erwarteter | ||
| string | JWKS-Endpunkt-URL, die zur Validierung der Token-Signatur verwendet wird. | ||
| string | Erwarteter |
Hinweise
Wenn
JwtAuthisttrueundJwtAuthOnClientistfalse, versucht der Client, die vom Reverse-Proxy bereitgestellten Token entweder in Cookies (Standard-OIDC-Cookies) oder im konfiguriertenHeaderKeyzu finden. WennHeaderKeyeinCf-Präfix enthält und ein passender Request-Header vorhanden ist, wird der Reverse-Proxy/Cloudflare-Flow verwendet. .Nach erfolgreicher Validierung sendet der Client eine XML-Nachricht vom Typ
<ProxyToken type="1" .../>an das Backend, die das Anwendungstoken inaccess_tokenenthält. Das Backend musstype="1"unterstützen undaccess_tokenals validiertes Reverse-Proxy-JWT behandeln.
OIDC-Einstellungen
Information
Parameter zum Konfigurieren der OpenID Connect-Authentifizierung.
Sie müssen innerhalb des Blocks
AuthenticationSettings.OidcSettingskonfiguriert werden.
Parameter | Typ | Default | Beschreibung | Ab/Bis Version |
|---|---|---|---|---|
| string | Die OAuth-Client-ID, die für die Token-Validierung verwendet wird. | ||
| string | Der Client-Secret, der für die Authentifizierung beim OIDC-Anbieter verwendet wird. | ||
| string | Die URL für das OIDC-Erkennungsdokument. Deprecated ab 3.7.2 Verwenden Sie stattdessen | Bis 3.7.1 | |
| string | Die Basis-Issuer-URL des OIDC-Providers (z. B. | Ab 3.7.2 | |
| string | Der vom OIDC-Anbieter angeforderte Zugriffsbereich. |
Authentifizierung: Beispiele und Einrichtung
Information
Im Folgenden finden Sie gängige Konfigurationsszenarien und konkrete Beispiele für die Einstellung von Werten über
appsettings.json, Umgebungsvariablen oder die Befehlszeile.
Beispiel A - Reverse-Proxy-Header-Authentifizierung (Proxy übermittelt die Benutzer-ID an das Backend)
appsettings.json:
{
"AuthenticationSettings": {
"ProxyAuth": true,
"ProxyUserHeader": "x-forwarded-user"
}
}
Umgebungsvariable (Windows PowerShell):
$env:AuthenticationSettings__ProxyAuth = "true"
$env:AuthenticationSettings__ProxyUserHeader = "x-forwarded-user"
Beispiel B - Cloudflare Access / Reverse-Proxy-JWT (Reverse-Proxy fügt Anwendungs-JWT ein)
appsettings.json:
{
"AuthenticationSettings": {
"JwtAuth": true,
"JwtAuthOnClient": false,
"ReverseProxyJwtSettings": {
"HeaderKey": "Cf-Access-Jwt-Assertion",
"IssuerUrl": "https://your-team.cloudflareaccess.com",
"JwksUrl": "https://your-team.cloudflareaccess.com/cdn-cgi/access/certs",
"Audience": "PASTE_THE_64_CHAR_HEX_TAG_HERE"
}
}
}
Notes
Die Anwendung erkennt die Nutzung von Cloudflare, wenn der konfigurierte
HeaderKeymitCf-beginnt und in der Anfrage ein entsprechender Header vorhanden ist.Stellen Sie sicher, dass
JwksUrl,IssuerUrlundAudiencegenau mit den von Cloudflare Access ausgestellten Token-Claims übereinstimmen. Ist dies nicht der Fall, wird die Validierung fehlschlagen.
Beispiel C - Vom OIDC-Client initiierte Anmeldung mit PKCE (der Browser führt den OIDC-Ablauf durch)
appsettings.json:
{
"AuthenticationSettings": {
"JwtAuth": true,
"JwtAuthOnClient": true,
"OidcSettings": {
"ClientId": "APPLICATION_CLIENT_ID",
"ClientSecret": "YOUR_CLIENT_SECRET",
"DiscoveryUrl": "https://login.example.com/.well-known/openid-configuration",
"Scope": "openid profile email"
}
}
}
Vorgehensweise
Der Client startet den Autorisierungscode-Ablauf mit PKCE und tauscht den Autorisierungscode im Browser gegen ein
id_token/access_tokenein.Die Tokens werden validiert und anschließend mit dem
ProxyTokenvomTyp=„0“an das Backend weitergeleitet.
WebAPI Authentifizierungs-Einstellungen
Parameter | Typ | Default | Beschreibung | Ab/Bis Version |
|---|---|---|---|---|
| string | APIKEY | API-Schlüssel, der zum Erreichen der Web-API-Endpunkte verwendet wird |
Adaptive Cards-Einstellungen
Signierungseinstellungen
Parameter | Typ | Default | Beschreibung | Ab/Bis Version |
|---|---|---|---|---|
| string | XML-formatierter privater RSA-Schlüssel zum Signieren von Adaptive Cards |
Upload-Einstellungen
Information
Parameter, die das Verhalten bei Datei-Uploads definieren.
Sie müssen innerhalb des Blocks
FileUploadSettingsdefiniert werden.
Parameter | Typ | Default | Beschreibung | Ab/Bis Version |
|---|---|---|---|---|
| int | 6 | Zlib compression level, Zahl zwischen 0 und 9. Wird ignoriert, wenn | |
| string | .doc, .docx, .xls, .txt | Dateiendungen, die hochgeladen werden dürfen | |
| int | 2000000 | Maximale Dateigröße von Dateien, in kB | |
| int | 100000 | Wenn eine Zahl > 0 definiert wird, wird die Datei in Chunks der angegebenen Größe (in kB) hochgeladen. Wird 0 definiert, wird die Datei in einem Request hochgeladen. | |
| string | . | Pfad, unter dem Dateien während des Uploads temporär gespeichert werden |
Help Center-Einstellungen
Information
Parametern zur Konfiguration von Links und Befehlen, die im Menü des Help Centers verwendet werden.
Sie müssen innerhalb des Blocks
HelpCenterSettingsdefiniert werden.
Parameter | Typ | Default | Description |
|---|---|---|---|
| String | URL zur Hauptseite des Help Center. | |
| String | URL für Video-Tutorials. | |
| String | URL für textbasierte Tutorials/Dokumentation. | |
| String | URL zur Seite mit der Datenschutzerklärung. Wird diese Option aktiviert, wird in der Feedback-Komponente ein Link zur Datenschutzerklärung angezeigt. | |
| String | https://help.planta.de/de/tec/Container-ab-39.5.24/konfiguration-des-ki-assistenten-fur-webclient | URL zur Dokumentation zur Konfiguration des KI-Assistenten. Wenn der KI-Assistent deaktiviert ist, wird dieser Link angezeigt, um Benutzern bei der Einrichtung zu helfen. |
| Int? | null | Optionale Befehls-ID zur Ausführung für modulspezifische Hilfe. |
| Int? | null | Optionale Befehls-ID zur Ausführung für feldspezifische Hilfe. |
| Int | 1000 | Maximal zulässige Zeichenanzahl für den Text eines Feedback-Kommentars. Dieser Parameter begrenzt die Textmenge, die Benutzer in das Feedback-Formular eingeben können. |
| Array | null | Liste der Feedback-Ziele. Jedes Ziel hat einen |
Details zu den Feedback-Zielen
Information
Console: Protokolliert das Feedback in der Konsole.Logger: Protokolliert das Feedback mithilfe des Loggers der Anwendung.File: Protokolliert das Feedback in einer Datei. ErfordertArgs.filepath(Pfad zur Datei) undArgs.encoding(Zeichenkodierung, z. B.utf-8).Service: Sendet das Feedback an einen Dienst. ErfordertArgs.url(URL des Feedback-Dienstes).
Beispielkonfiguration für FeedbackTo:
"FeedbackTo": [
{ "Name": "Console" },
{ "Name": "Logger" },
{
"Name": "File",
"Args": {
"filepath": "%ApplicationFilesPath%/feedback.log",
"encoding": "utf-8"
}
},
{
"Name": "Service",
"Args": {
"url": "http://localhost:5159/api/feedback"
}
}
]
Message Dumper-Einstellungen
Information
Message Dumper speichert die Kommunikation mit dem PLANTA-Server, eine xml-Datei pro Session.
Die Parameter müssen innerhalb des Blocks
MessageDumperSettingsdefiniert werden.
Parameter | Typ | Default | Beschreibung | Ab/Bis Version |
|---|---|---|---|---|
| bool | true | Message Dump-Feature aktivieren | |
| string | .\Logs\Dump | Pfad, unter dem Message Dump-Dateien gespeichert werden |
Virtualisierung-Einstellungen
Information
Durch Virtualisierung werden nur die auf dem Bildschirm sichtbaren Elemente gerendert, um die Performance zu verbessern.
Die Parameter müssen innerhalb des Blocks
VirtualizationSettingsdefiniert werden.
Parameter | Typ | Default | Beschreibung |
|---|---|---|---|
| bool | true | Virtualisierungsfunktion aktivieren |
Einstellungen für den Chart-Export
Information
Parameter zur Steuerung der Chart-Export-Funktionalität.
Die Parameter müssen innerhalb des Blocks
ChartExportSettingsdefiniert werden.
Parameter | Typ | Default | Beschreibung |
|---|---|---|---|
| int | 4 | Skalierungsfaktor für exportierte Diagrammbilder. Höhere Werte führen zu Bildern mit höherer Auflösung, vergrößern jedoch die Dateigröße. |
| int | 60 | Maximal zulässige Anzahl von Diagrammexporten pro Minute (Ratenbegrenzung). |
| int | 15728640 | Maximale Dateigröße für exportierte Diagrammbilder in Byte (Standardwert: 15 MB). |
Beispielkonfiguration
{
"ChartExportSettings": {
"ExportScaleFactor": 4,
"MaxUploadsPerMinute": 60,
"MaxFileSizeBytes": 15728640
}
}
Papierformat-Einstellungen
Information
Parameter zum Konfigurieren benutzerdefinierter Papierformate für den PDF-Export.
Der Parameter muss innerhalb des Blocks
PaperFormatSettingsdefiniert werden.
Parameter | Typ | Default | Beschreibung | Ab/Bis Version |
|---|---|---|---|---|
| Array | Liste benutzerdefinierter Papierformatkonfigurationen. Jedes Format muss einen lokal angepassten Namen und Abmessungen in Millimetern enthalten. |
Parameter innerhalb eines Arrays definieren
{
"PaperFormatSettings": {
"Formats": [
{
"Name": {
"de": "A0",
"en": "A0",
"fr": "A0",
"pt": "A0"
},
"Size": {
"Width": 841,
"Height": 1189
}
},
{
"Name": {
"de": "Tabloid",
"en": "Tabloid (11x17 in)",
"fr": "Tabloïd",
"pt": "Tablóide"
},
"Size": {
"Width": 279,
"Height": 432
}
}
]
}
}
Logging-Einstellungen
Information
Der PLANTA Web-Client verwendet Serilog für das Logging.
Serilog verwendet so genannte "Sinks", um Logs anzuzeigen. Der Web-Client unterstützt derzeit die folgenden Sinks:
Konsole
Datei
Einstellungen für Metriken
Information
Parameter zur Konfiguration des Prometheus-Metrik-Endpunkts und der Telemetrie.
Sie müssen innerhalb des Blocks
MetricsSettingsdefiniert werden.
Parameter | Typ | Default | Beschreibung |
|---|---|---|---|
| String | /metrics | Pfad zum Prometheus-Endpunkt für das Abrufen von Metriken. Konfigurieren Sie diesen, um die URL zu ändern, unter der die Metriken bereitgestellt werden. |
| String | planta_webclient_metrics | Name des benutzerdefinierten OpenTelemetry-Meters für Anwendungsmetriken. Dient zur Identifizierung des Meters in OpenTelemetry. |
| String | planta_webclient_ | Präfix, das an die Namen benutzerdefinierter Anwendungsmetriken angehängt wird. Dies erleichtert die Identifizierung benutzerdefinierter Metriken dieser Anwendung in Monitoring-Systemen. Hinweis: Standard-Systemmetriken (ASP.NET Core, Runtime, HTTP Client) verwenden dieses Präfix nicht. |
Beispielkonfiguration
{
"MetricsSettings": {
"PrometheusEndpoint": "/custom-metrics",
"MeterName": "my_application_metrics",
"MetricsPrefix": "my_app_"
}
}
Host-URL ändern
Information
Defaultmäßig verwenden ASP.Net Core-Anwendungen die Ports 5000 (http) und 5001 (https).
Mit dem
Urls-Parameter kann das wie folgt überschrieben werden:
JSON: | Kommandozeile: | |
JS
|
CODE
|