Portail Web avec SSO (bêta)
Conditions préalables et limitations clés
Web Portal 2026 avec SSO est conçu pour le Créatif thème et utilise toutes les personnalisations de AdminTool > Web > Personnalisation du portail Web. Si le thème sélectionné n'est pas Créatif le portail Web ne s'affiche pas.
Lorsque activé dans une ferme, tous les serveurs doivent exécuter le même version Remote Access et être activé pour Web Portal 2026 avec SSO
Cette fonctionnalité est Bêta et devrait non être déployé sur des serveurs de production.
Pourquoi un nouveau portail Web ?
Comparé au précédent portail Web, cette mise en œuvre offre une fiabilité supérieure et de meilleures performances sous charge. De plus, elle permet :
-
Capacités SSO avancées
- Authentification intégrée Windows (Négocier / Kerberos / NTLM)
- Intégration de fournisseur d'identité tiers (actuellement SAML)
-
Des contrôles de sécurité renforcés
- Protections anti-contrefaçon intégrées
- Limitation de taux des points de terminaison
- Authentification moderne et contrôles des cookies/sessions
Son architecture nous permettra de répondre facilement à tout retour d'audit de sécurité potentiel.
C'est aussi un produit plus accessible par des recommandations et un contraste amélioré.
Flexibilité du serveur Web (Kestrel par défaut)
L'application n'est pas liée à un seul serveur web frontal. Par défaut, elle s'exécute sur Kestrel (Port HTTP 81). Il peut être précédé par IIS ou Apache comme un proxy inverse en modifiant la configuration du serveur web.
Exemple : proxy inverse Apache vers le service Web Portal
# Apache VirtualHost exampleProxyPreserveHost OnProxyPass / 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"
Cela maintient la logique du portail Web inchangée tandis qu'Apache gère l'exposition publique HTTP/HTTPS.
Veuillez contacter l'équipe de développement si vous êtes intéressé, car ce scénario n'est pas encore accessible depuis le programme AdminTool et doit être configuré manuellement.
Activer le portail Web 2026 avec SSO
- Ouvrir AdminTool
- Allez à : Web > Serveur web
- Activer : Portail web 2026 avec SSO
Important cette option est en version Beta. Utilisez-la uniquement dans des environnements de test.
Modes de connexion pris en charge
Portail Web 2026 avec SSO prend en charge :
- Formulaire de connexion traditionnel utilisant des identifiants Windows
- Identifiants Web. Voir : https://docs.tsplus.net/tsplus/web-credentials/
- Authentification intégrée Windows (automatique dans les scénarios de confiance / locaux)
- Fournisseur d'identité externe via SAML tel que Entra ID (anciennement Azure AD) ou Okta
Remarque : Support pour l'authentification externe via OIDC prévu plus tard, sur demande
comportement 2FA
2FA est appliqué aux flux de compte standard, y compris :
- Formulaire de connexion utilisant des identifiants Windows
- Identifiants Web
- Authentification intégrée Windows
Les fournisseurs d'authentification externes appliquent souvent leur propre MFA / 2FA. Ainsi, la configuration 2FA définie dans l'addon 2FA de Remote Access ne s'applique pas à ce scénario.
Le contournement du réseau local est disponible via
CustomSettings:Contournement2FAPourRéseauLocal
paramètre situé dans le fichier :
C:\Program Files (x86)\TSplus\Clients\webportal\appsettings.json
, où
C:\Program Files (x86)\TSplus
est le dossier de configuration de TSplus Remote Access. Lorsqu'il est activé, le contournement se produit uniquement si le client et la passerelle se trouvent dans le même sous-réseau privé.
Configurer le flux d'authentification Windows
Pour les utilisateurs se connectant avec l'authentification Windows, l'un des éléments suivants est requis :
-
Pré-enregistrer les identifiants avec la commande TSplus :
AdminTool.exe /windowscredential-ajouteroumettre à jourVoir la documentation à https://docs.tsplus.net/tsplus/commands-list/#ajouter-ou-mettre-à-jour-des-identifiants-dans-le-gestionnaire-d-identifiants-windows-windowscredential-addorupdate - Ou laissez l'utilisateur se connecter une fois via le formulaire de connexion du portail Web avec des identifiants Windows.
Pour configurer l'authentification intégrée Windows, veuillez consulter : Activer l'authentification intégrée Windows sur un domaine Active Directory. Comme ce mode d'authentification est difficile à configurer, les clients préfèrent souvent mettre en place un fournisseur d'identité externe.
Configurer l'authentification externe (SAML)
Paramètres requis dans
appsettings.json
Le fichier
appsettings.json
est situé dans
C:\Program Files (x86)\TSplus\Clients\webportal
, où
C:\Program Files (x86)\TSplus
est le dossier de configuration de TSplus Remote Access.
Modifier le
Saml2
section :
-
IdPMetadata -
Émetteur -
Destination de l'authentification uniqueoptionnel si les métadonnées le fournissent -
Destination de déconnexion uniqueoptionnel si les métadonnées le fournissent - Champs liés au certificat
Disponibilité du mot de passe Windows pour le lancement de session
Pour l'authentification SAML externe, le lancement des sessions nécessite toujours des identifiants Windows utilisables. Utilisez l'un des :
-
Enregistrer les informations d'identification Windows avec la commande :
AdminTool.exe /windowscredential-ajouteroumettre à jourVoir la documentation à https://docs.tsplus.net/tsplus/commands-list/#ajouter-ou-mettre-à-jour-des-identifiants-dans-le-gestionnaire-d-identifiants-windows-windowscredential-addorupdate -
Ou transférer le mot de passe de la revendication IdP en configurant
CustomSettings:UtiliserSamlPasswordClaimau type de réclamation contenant le mot de passe Windows.
Si aucun mot de passe n'est disponible dans le magasin de revendications ou de certificats, la validation de l'utilisateur échoue.
Référence complète du fichier de configuration appsettings.json
Le fichier
appsettings.json
est situé dans
C:\Program Files (x86)\TSplus\Clients\webportal
, où
C:\Program Files (x86)\TSplus
est le dossier de configuration de TSplus Remote Access.
Journalisation
| Paramètre | Objectif | Valeurs possibles | Par défaut |
|---|---|---|---|
Journalisation:NiveauDeJournal:ParDéfaut
|
Niveau de journalisation minimum global. |
Trace
,
Déboguer
,
Information
,
Avertissement
,
Erreur
,
Critique
,
Aucun
|
Information
|
Journalisation:NiveauDeJournal:Microsoft.AspNetCore
|
Niveau de journalisation du framework ASP.NET Core. | Même que ci-dessus |
Avertissement
|
Journalisation:NiveauDeJournal:Microsoft.AspNetCore.Authentication
|
Niveau de journal du sous-système d'authentification. | Même que ci-dessus |
Avertissement
|
Paramètre d'hôte global
| Paramètre | Objectif | Valeurs possibles | Par défaut |
|---|---|---|---|
Hôtes autorisés
|
Filtrage de l'en-tête d'hôte pour la protection des hôtes ASP.NET Core. |
*
(liste d'hôtes séparés par des points-virgules)
|
*
|
Limitation de taux IP
| Paramètre | Objectif | Valeurs possibles | Par défaut |
|---|---|---|---|
IpRateLimiting:ActiverLaLimitationDeTauxDePointDeTerminaison
|
Active des règles de limitation spécifiques aux points de terminaison. |
vrai
/
faux
|
vrai
|
IpRateLimiting:StackBlockedRequests
|
Si
vrai
, les demandes bloquées continuent d'augmenter les compteurs.
|
vrai
/
faux
|
faux
|
IpRateLimiting:HttpStatusCode
|
Statut HTTP renvoyé lorsque la demande est bloquée. |
Code HTTP entier (typiquement
429
)
|
429
|
IpRateLimiting:RealIpHeader
|
En-tête utilisé pour résoudre l'IP du client derrière un proxy. | Nom de l'en-tête |
X-Forwarded-For
|
IpRateLimiting:ClientIdHeader
|
En-tête client-id optionnel pour la limitation de taux personnalisée. | Nom de l'en-tête |
X-ClientId
|
IpRateLimiting:RèglesGénérales
Chaque objet de règle a :
| Paramètre | Objectif | Valeurs possibles | Par défaut dans le fichier expédié |
|---|---|---|---|
Point de terminaison
|
Modèle de route/méthode à protéger. |
Format
VERB:/chemin
|
Plusieurs défauts (voir ci-dessous) |
Période
|
Fenêtre de tarification. |
e.g.
1s
,
1m
,
5m
,
1h
,
1j
|
5m
(pour toutes les règles par défaut)
|
Limite
|
Max demandes dans la période. | Entier positif |
5
(pour toutes les règles par défaut)
|
Points de terminaison protégés par défaut :
-
POST:/Compte/Connexion -
POST:/Compte/RéinitialiserMotDePasse -
POST:/Lancer -
POST:/RemoteApp -
POST:/2FA/Valider -
POST:/2FA/RenvoyerCode -
POST:/2FA/Statut
Saml2
| Paramètre | Objectif | Valeurs possibles | Par défaut |
|---|---|---|---|
Saml2:IdPMetadata
|
URL des métadonnées IdP utilisé pour charger la configuration du fournisseur SAML. | URL HTTPS valide |
""
|
Saml2:Émetteur
|
ID d'entité SP (cette identité du portail Web). | chaîne URI |
""
|
Saml2:Destination de connexion unique
|
URL de point de terminaison IdP SSO (peut être résolu automatiquement à partir des métadonnées). | URL HTTPS |
""
|
Saml2:SingleLogoutDestination
|
URL de point de terminaison SLO IdP (peut être résolu automatiquement à partir des métadonnées). | URL HTTPS |
""
|
Saml2:SignatureAlgorithm
|
Algorithme de signature XML. | Valeur URI acceptée par la bibliothèque SAML |
http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
|
Saml2:SigningCertificateFile
|
Fichier de certificat de signature SP local (relatif au chemin de base de l'application). | Nom de fichier/chemin |
""
|
Saml2:MotDePasseDuCertificatDeSignature
|
Mot de passe pour le fichier de certificat de signature. | Chaine |
""
|
Saml2:FichierDeCertificatDeValidationDeSignature
|
Fichier de certificat IdP utilisé pour valider les signatures (optionnel si les métadonnées fournissent des certificats). | Nom de fichier/chemin |
""
|
Saml2:ModeValidationDuCertificat
|
Mode de validation de la chaîne de certificats. |
Aucun
,
PeerTrust
,
ChainTrust
,
Confiance par paire ou chaîne
,
ConfianceRootPersonnalisée
|
ChainTrust
|
Saml2:ModeDeRévocation
|
Comportement de révocation de certificat. |
NoCheck
,
En ligne
,
Hors ligne
|
Hors ligne
|
Saml2:XmlCanonicalizationMethod
|
URI de l'algorithme de canonisation XML. | URI de canonicalisation XML-DSig |
http://www.w3.org/2001/10/xml-exc-c14n#
|
Paramètres personnalisés
Dans
appsettings.json
ces valeurs sont stockées sous forme de chaînes
vrai
/
faux
) et mappé à des booléens par le binding de configuration .NET.
| Paramètre | Objectif | Valeurs possibles | Par défaut |
|---|---|---|---|
CustomSettings:UtiliserLeCheminCompletDeLApplication
|
Contrôle si le chemin complet de l'application est utilisé lors de l'affichage/lancement des applications assignées. |
vrai
/
faux
|
faux
|
CustomSettings:ActiverAuthentificationWindowsAutomatiqueSurLocalhost
|
Permet l'authentification automatique de Windows dans un scénario localhost/loopback. |
vrai
/
faux
|
faux
|
CustomSettings:ActiverLeChiffrementDuMotDePasse
|
Crypte le domaine/le nom d'utilisateur/le mot de passe dans la chaîne de connexion de lancement HTML5 en utilisant des paramètres RSA. |
vrai
/
faux
|
vrai
|
CustomSettings:Contournement2FAPourRéseauLocal
|
Contourne le 2FA du portail Web lorsque le client se trouve dans le même sous-réseau privé que le serveur. |
vrai
/
faux
|
faux
|
CustomSettings:UtiliserSamlPasswordClaim
|
Type de revendication SAML utilisé comme mot de passe Windows transféré pour le lancement de session. | Type de réclamation URI/nom ou chaîne vide |
""
|