Zum Inhalt springen

Webportal mit SSO (Beta)

Wichtige Voraussetzungen und Einschränkungen

Webportal 2026 mit SSO ist für die Kreativ Thema und verwendet alle Anpassungen aus AdminTool > Web > Webportal-Anpassung. Wenn das ausgewählte Thema nicht Kreativ , das Webportal wird nicht angezeigt.

Wenn in einem Farm aktiviert, müssen alle Server die ausführen gleiche Remote Access-Version und aktiviert werden für Webportal 2026 mit SSO

Diese Funktion ist Beta und sollte nicht auf Produktionsservern bereitgestellt werden.

Warum ein neues Webportal?

Im Vergleich zum vorherigen Webportal bietet diese Implementierung höhere Zuverlässigkeit und bessere Leistung unter Last. Außerdem ermöglicht es:

  • Erweiterte SSO-Funktionen

    • Windows-Integrationsauthentifizierung (Negotiate / Kerberos / NTLM)
    • Integration eines Identitätsanbieters von Drittanbietern (derzeit SAML)
  • Stärkere Sicherheitskontrollen

    • Eingebaute Anti-Fälschungsschutzmaßnahmen
    • Endpoint-Ratenbegrenzung
    • Moderne Authentifizierung und Cookie-/Sitzungssteuerung

Seine Architektur wird es uns ermöglichen, etwaiges Feedback zu Sicherheitsprüfungen leicht zu berücksichtigen.

Es ist auch ein zugänglicheres Produkt durch Empfehlungen und verbesserten Kontrast.

Webserver-Flexibilität (Kestrel standardmäßig)

Die Anwendung ist nicht an einen Front-End-Webserver gebunden. Standardmäßig läuft sie auf Kestrel (HTTP-Port 81). Es kann von IIS oder Apache als Reverse-Proxy durch Ändern der Webserver-Konfiguration.

Beispiel: Apache-Reverse-Proxy für den Webportal-Dienst

# Apache VirtualHost example
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:81/
ProxyPassReverse / http://127.0.0.1:81/
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-For "%{REMOTE_ADDR}s"

Dies hält die Logik des Webportals unverändert, während Apache die öffentliche HTTP/HTTPS-Exposition verwaltet.

Bitte kontaktieren Sie das Entwicklungsteam, wenn Sie interessiert sind, da dieses Szenario derzeit nicht über das AdminTool-Programm zugänglich ist und manuell konfiguriert werden muss.

Webportal 2026 mit SSO aktivieren

  1. Öffnen Admin-Tool
  2. Gehe zu: Web > Webserver
  3. Aktivieren: Webportal 2026 mit SSO

Enable Web Portal with SSO

Wichtig Diese Option ist Beta. Nur in Testumgebungen verwenden.

Unterstützte Anmeldemodi

Webportal 2026 mit SSO unterstützt:

  • Traditionelles Anmeldeformular mit Windows-Anmeldeinformationen
  • Webanmeldeinformationen. Siehe: https://docs.tsplus.net/tsplus/web-credentials/
  • Windows-Integrationsauthentifizierung (automatisch in vertrauenswürdigen / lokalen Szenarien)
  • Externer Identitätsanbieter über SAML wie Entra ID (ehemals Azure AD) oder Okta

Hinweis: Unterstützung für externe Authentifizierung über OIDC geplant später, auf Anfrage

2FA-Verhalten

2FA wird auf Standardkontoflüsse angewendet, einschließlich:

  • Anmeldeformular mit Windows-Anmeldeinformationen
  • Web-Anmeldeinformationen
  • Windows-Integrationsauthentifizierung

Externe Authentifizierungsanbieter setzen häufig ihre eigene MFA / 2FA durch. Daher gilt die in dem Remote Access 2FA Add-on festgelegte 2FA-Konfiguration nicht für dieses Szenario.

Der lokale Netzwerkumgehung ist verfügbar über CustomSettings:TwoFaBypassForLocalNetwork Parameter, der in der Datei enthalten ist: C:\Program Files (x86)\TSplus\Clients\webportal\appsettings.json , wo C:\Program Files (x86)\TSplus ist der TSplus Remote Access-Setup-Ordner. Wenn aktiviert, erfolgt die Umgehung nur, wenn Client und Gateway im selben privaten Subnetz sind.

Windows-Authentifizierungsfluss konfigurieren

Für Benutzer, die sich mit Windows-Authentifizierung anmelden, ist eines der Folgenden erforderlich:

  1. Vorregistrieren Sie Anmeldeinformationen mit dem TSplus-Befehl: AdminTool.exe /windowscredential-addorupdate Siehe Dokumentation unter https://docs.tsplus.net/tsplus/commands-list/#add-or-update-credentials-to-the-windows-credentials-manager-windowscredential-addorupdate
  2. Oder lassen Sie den Benutzer sich einmal über das Anmeldeformular des Webportals mit Windows-Anmeldeinformationen anmelden.

Für die Konfiguration der Windows-Integrationsauthentifizierung siehe bitte: Windows-Integrationsauthentifizierung in einer Active Directory-Domäne aktivieren. Da dieser Authentifizierungsmodus mühsam zu konfigurieren ist, ziehen es die Kunden oft vor, einen externen Identitätsanbieter einzurichten.

Externe Authentifizierung (SAML) konfigurieren

Erforderliche Einstellungen in appsettings.json

Die Datei appsettings.json befindet sich in C:\Program Files (x86)\TSplus\Clients\webportal , wo C:\Program Files (x86)\TSplus ist der TSplus Remote Access-Setup-Ordner.

Bearbeiten Sie die Saml2 Abschnitt:

  • IdP-Metadaten
  • Herausgeber
  • SingleSignOnZiel (optional if metadata provides it)
  • SingleLogoutDestination (optional if metadata provides it)
  • Zertifikatbezogene Felder

Verfügbarkeit des Windows-Passworts für den Sitzungsstart

Für die externe SAML-Authentifizierung erfordert das Starten von Sitzungen weiterhin verwendbare Windows-Anmeldeinformationen. Verwenden Sie eine der:

  1. Windows-Anmeldeinformationen mit Befehl registrieren: AdminTool.exe /windowscredential-addorupdate Siehe Dokumentation unter https://docs.tsplus.net/tsplus/commands-list/#add-or-update-credentials-to-the-windows-credentials-manager-windowscredential-addorupdate
  2. Oder Passwort von IdP-Anspruch weiterleiten, indem Sie einstellen CustomSettings:UseSamlPasswordClaim zum Anspruchstyp, der das Windows-Passwort enthält.

Wenn kein Passwort aus dem Anspruchs- oder Berechtigungsstore verfügbar ist, schlägt die Benutzervalidierung fehl.

Vollständige Referenz der appsettings.json-Konfigurationsdatei

Die Datei appsettings.json befindet sich in C:\Program Files (x86)\TSplus\Clients\webportal , wo C:\Program Files (x86)\TSplus ist der TSplus Remote Access-Setup-Ordner.

Protokollierung

Parameter Zweck Mögliche Werte Standardmäßig
Protokollierung:Protokollebene:Standard Globales minimales Protokollniveau. Verfolgen , Debug , Information , Warnung , Fehler , Kritisch , None Information
Logging:LogLevel:Microsoft.AspNetCore ASP.NET Core-Framework-Protokollebene. Gleich wie oben Warnung
Logging:LogLevel:Microsoft.AspNetCore.Authentication Authentifizierungs-Subsystem-Protokollebene. Gleich wie oben Warnung

Globale Host-Einstellung

Parameter Zweck Mögliche Werte Standardmäßig
ErlaubteHosts Host-Header-Filterung zum Schutz von ASP.NET Core-Hosts. * (all) oder durch Semikolons getrennte Hostliste *

IpRateLimiting

Parameter Zweck Mögliche Werte Standardmäßig
IpRateLimiting:EndpointRateLimitingAktivieren Ermöglicht endpoint-spezifische Drosselungsregeln. wahr / falsch wahr
IpRateLimiting:StackBlockedRequests Wenn wahr , blockierte Anfragen erhöhen weiterhin die Zähler. wahr / falsch falsch
IpRateLimiting:HttpStatusCode HTTP-Status, der zurückgegeben wird, wenn die Anfrage blockiert wird. Ganzzahliger HTTP-Code (typischerweise 429 ) 429
IpRateLimiting:RealIpHeader Header, der verwendet wird, um die Client-IP hinter dem Proxy aufzulösen. Kopfzeile X-Forwarded-For
IpRateLimiting:ClientIdHeader Optionaler Client-ID-Header für benutzerdefinierte Ratenbegrenzung. Kopfzeile X-ClientId

IpRateLimiting:AllgemeineRegeln

Jedes Regelobjekt hat:

Parameter Zweck Mögliche Werte Standard in der gelieferten Datei
Endpoint Routen-/Methodenmuster zum Schutz. Format VERB:/pfad Mehrere Standardwerte (siehe unten)
Periode Bewertungsfenster. z.B. 1s , 1m , 5m , 1h , 1d 5m (für alle Standardregeln)
Limit Maximale Anfragen im Zeitraum. Positive ganze Zahl 5 (für alle Standardregeln)

Standardmäßig geschützte Endpunkte:

  • POST:/Account/Login
  • POST:/Account/PasswortZurücksetzen
  • POST:/Launch
  • POST:/RemoteApp
  • POST:/2FA/Validate
  • POST:/2FA/CodeErneutSenden
  • POST:/2FA/Status

Saml2

Parameter Zweck Mögliche Werte Standardmäßig
Saml2:IdPMetadata IdP-Metadaten-URL zum Laden der SAML-Anbieter-Konfiguration. Gültige HTTPS-URL ""
Saml2:Aussteller SP-Entitäts-ID (diese Identität des Webportals). URI-Zeichenfolge ""
Saml2:SingleSignOnDestination IdP SSO-Endpunkt-URL (kann aus Metadaten automatisch aufgelöst werden). HTTPS-URL ""
Saml2:SingleLogoutDestination IdP SLO-Endpunkt-URL (kann aus Metadaten automatisch aufgelöst werden). HTTPS-URL ""
Saml2:Signaturalgorithmus XML-Signaturalgorithmus. URI-Wert, der von der SAML-Bibliothek akzeptiert wird http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
Saml2:SigningCertificateFile Lokale SP-Signaturzertifikatdatei (relativ zum Basisverzeichnis der App). Dateiname/Pfad ""
Saml2:SigningCertificatePassword Passwort für die Signaturzertifikatdatei. String ""
Saml2:Signaturvalidierungszertifikatdatei IdP-Zertifikatdatei zur Validierung von Signaturen (optional, wenn Metadaten Zertifikate bereitstellen). Dateiname/Pfad ""
Saml2:ZertifikatValidierungsmodus Zertifikatkettenvalidierungsmodus. None , PeerTrust , ChainTrust , Peer- oder Kettenvertrauen , CustomRootTrust ChainTrust
Saml2:Widerrufsmodus Zertifikatwiderrufsverhalten. NoCheck , Online , Offline Offline
Saml2:XmlCanonicalizationMethod XML-Kanonisierungsalgorithmus-URI. XML-DSig-Kanonalisierungs-URI http://www.w3.org/2001/10/xml-exc-c14n#

Benutzerdefinierte Einstellungen

In appsettings.json diese Werte werden als Zeichenfolgen gespeichert true / false ) und durch .NET-Konfigurationsbindung auf Booleans abgebildet.

Parameter Zweck Mögliche Werte Standardmäßig
CustomSettings:VerwendeAnwendungsvollesPfad Steuert, ob der vollständige Anwendungs-Pfad verwendet wird, wenn zugewiesene Apps aufgelistet oder gestartet werden. true / false false
CustomSettings:AktivierenAutoWindowsAuthentifizierungAufLocalhost Ermöglicht die automatische Windows-Authentifizierung im localhost/Loopback-Szenario. true / false false
CustomSettings:PasswortverschlüsselungAktivieren Verschlüsselt die Domain/Benutzername/Passwort in der HTML5-Startverbindungszeichenfolge unter Verwendung von RSA-Parametern. true / false true
CustomSettings:TwoFaBypassForLocalNetwork Umgeht das Webportal 2FA, wenn der Client im selben privaten Subnetz wie der Server ist. true / false false
CustomSettings:UseSamlPasswordClaim SAML-Anspruchstyp, der als weitergeleitetes Windows-Passwort für den Sitzungsstart verwendet wird. Anspruchstyp-URI/Name oder leere Zeichenfolge ""