Single sign-on NTLM
- apache-tomcat / lib
- apache-tomcat / conf / context.xml
- apache-tomcat / conf / web.xml
- apache-tomcat / webapps / digdash_dashboard / WEB-INF / web.xml
- apache-tomcat / webapps / studio / WEB-INF / web.xml
- apache-tomcat / webapps / ddenterpriseapi / WEB-INF / web.xml
- apache-tomcat / webapps / adminconsole / digdash.jnlp
Ce document décrit comment connecter la valve Waffle dans DigDash Enterprise pour activer la Sécurité Intégrée Windows (NTLM...).
Cet add-on est situé dans le dossier <DDE install>/add-ons/singlesignon/Waffle.
La version actuelle de Waffle est 1.8.1.
Ce document décrit chaque dossiers et fichiers à modifier pour activer cette valve.
apache-tomcat / lib
Désinstallation de la version précédente de Waffle :
Dans le cas ou vous mettez à jour DigDash, il est possible qu’une ancienne version de Waffle ait été déployée sur votre Tomcat. Vous devez d’abord supprimer cette version de <DDE install>/apache-tomcat/lib avant d’installer la nouvelle.
Veuillez vous référer au guide de déploiement Waffle de votre version précédente de DigDash Enterprise pour connaître la liste des fichiers de la librairie Waffle à supprimer..
Tomcat 9 (à partir de la version 2020R2 patch 20210105)
Ajouter les librairies JAR Waffle du dossier <DDE install>/add-ons/singlesignon/Waffle/Tomcat9 dans le dossier <DDE install>/apache-tomcat/lib :
- caffeine-2.8.4.jar
- guava-19.0.jar
- jna-5.6.0.jar
- jna-platform-5.6.0.jar
- slf4j-api-1.7.21.jar
- slf4j-log4j12-1.7.21.jar
- log4j-1.2.15.jar
- waffle-jna-2.3.0.jar
- waffle-tomcat9-2.3.0.jar
- waffle_digdash_extension_tomcat9.jar
- log4j.properties
Tomcat 8
Ajouter les librairies JAR Waffle du dossier <DDE install>/add-ons/singlesignon/Waffle/Tomcat8 dans le dossier <DDE install>/apache-tomcat/lib :
- guava-19.0.jar
- jna-4.2.1.jar
- jna-platform-4.2.1.jar
- slf4j-api-1.7.21.jar
- slf4j-log4j12-1.7.21.jar
- log4j-1.2.15.jar
- waffle-jna-1.8.1.jar
- waffle-tomcat8-1.8.1.jar
- waffle_digdash_extension_tomcat8.jar
- log4j.properties
Tomcat 7
Ajouter les librairies JAR Waffle du dossier <DDE install>/add-ons/singlesignon/Waffle/Tomcat7 dans le dossier <DDE install>/apache-tomcat/lib :
- guava-19.0.jar
- jna-4.2.1.jar
- jna-platform-4.2.1.jar
- slf4j-api-1.7.21.jar
- slf4j-log4j12-1.7.21.jar
- log4j-1.2.15.jar
- waffle-jna-1.8.1.jar
- waffle-tomcat7-1.8.1.jar
- waffle_digdash_extension_tomcat7.jar
- log4j.properties
apache-tomcat / conf / context.xml
Ajouter le XML suivant pour la valve de sécurité :
sharedPasswd="SecretPwdToChange" allowAddr="localhost,127.0.0.*"></Valve>
<Realm className="waffle.apache.WindowsRealm"></Realm>
Il est nécessaire de changer le mot de passe partagé (sharedPasswd). Ce mot de passe doit être identique à celui spécifié dans le fichier <DDE install>/apache-tomcat/digdash_dashboard/WEB-INF/web.xml (voir chapitre IV).
Vous pouvez aussi ajouter les adresses des hôtes distants autorisés (allowAddr) pour permettre à d'autres applications (digdash_dashboard) de se connecter au serveur DigDash Enterprise. Dans l'attribut allowAddr, vous devriez ajouter au minimum l'adresse IP de votre serveur.
apache-tomcat / conf / web.xml
Ajouter le XML suivant pour la contrainte de sécurité :
<role-name>Tout le monde</role-name>
</security-role>
<security-constraint>
<display-name>Waffle Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>Tout le monde</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<display-name>vjdbc Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>UnProtected Area</web-resource-name>
<url-pattern>/vjdbc/*</url-pattern>
</web-resource-collection>
</security-constraint>
Si vous n’êtes pas sûr du nom du rôle vous pouvez activer les informations de debug pour Waffle en utilisant le fichier log4j.properties fournit avec les jar.
Il suffit de le placer dans le répertoire <DDE install>/apache-tomcat/lib.
apache-tomcat / webapps / digdash_dashboard / WEB-INF / web.xml
Chercher la définition du paramètre sharedPasswd dans ce fichier, décommenter le bloc XML correspondant et changer la valeur du mot de passe :
<param-name>sharedPasswd</param-name>
<param-value>SecretPwdToChange</param-value>
</init-param>
Paramètres recommandés pour le login automatique du tableau de bord :
Il est recommandé de configurer les paramètres suivants dans le fichier <DDE install>/apache-tomcat/webapps/digdash_dashboard/WEB-INF/web.xml lors du déploiement en mode Sécurité Windows Intégrée (Waffle).
Spécifier (et forcer) le domaine DigDash Enterprise :
<param-name>DOMAIN</param-name>
<param-value>ddenterpriseapi</param-value>
</init-param>
<init-param>
<param-name>FORCEDOMAIN</param-name>
<param-value>true</param-value>
</init-param>
Spécifier (et forcer) l’URL du serveur du domain DigDash Enterprise. Utiliser l’adresse localhost si l’application web ddenterpriseapi est installée sur le même Tomcat que l’application web digdash_dashboard. Adapter le port si nécessaire :
<param-name>SERVERURL</param-name>
<param-value>http://localhost:8080</param-value>
</init-param>
<init-param>
<param-name>FORCESERVERURL</param-name>
<param-value>true</param-value>
</init-param>
Spécifier une URL de déconnexion afin que l’utilisateur puisse se déconnecter de DigDash Enterprise et, par exemple, revenir à une page d’Intranet :
<param-name>urlLogout</param-name>
<param-value>/adminconsole</param-value>
</init-param>
Voir la documentation Réglages avancés des paramètres système pour plus de détails sur ces paramètres.
apache-tomcat / webapps / studio / WEB-INF / web.xml
Chercher la définition du paramètre sharedPasswd dans ce fichier, décommenter le bloc XML correspondant et changer la valeur par NTUser ou NTUserOrLDAP :
<param-name>sharedPasswd</param-name>
<param-value>SecretPwdToChange</param-value>
</context-param>
Chercher la définition du paramètre authMethod dans ce fichier, décommenter le bloc XML correspondant et changer la valeur du mot de passe :
<param-name>authMethod</param-name>
<param-value>NTUserOrLDAP</param-value>
</context-param>
Astuce : le code XML est commenté lorsque il est entouré des balises <!-- et -->
Paramètres recommandés pour le login automatique du Web Studio :
Il est recommandé de configurer les paramètres suivants dans le fichier <DDE install>/apache-tomcat/webapps/studio/WEB-INF/web.xml lors du déploiement en mode Sécurité Windows Intégrée (Waffle).
Spécifier (et forcer) le domaine DigDash Enterprise :
<param-name>FORCEDOMAIN</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>DOMAIN</param-name>
<param-value>ddenterpriseapi</param-value>
</context-param>
Spécifier (et forcer) l’URL du serveur du domain DigDash Enterprise. Utiliser l’adresse localhost si l’application web ddenterpriseapi est installée sur le même Tomcat que l’application web digdash_dashboard. Adapter le port si nécessaire :
<param-name>FORCESERVERURL</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>SERVERURL</param-name>
<param-value>http://localhost:8080</param-value>
</context-param>
Spécifier une URL de déconnexion afin que l’utilisateur puisse se déconnecter de DigDash Enterprise et, par exemple, revenir à une page d’Intranet :
<param-name>urlLogout</param-name>
<param-value>/adminconsole</param-value>
</context-param>
Par défaut la déconnexion du Web Studio retourne à la page de login de ce dernier. Cette page n’existe pas dans le contexte du SSO. Il est important de spécifier une URL de retour en cas de déconnexion.
apache-tomcat / webapps / ddenterpriseapi / WEB-INF / web.xml
Chercher la définition du paramètre authMethod dans ce fichier et changer sa valeur en NTUser :
<param-name>authMethod</param-name>
<!-- possible values: LDAP, PassThru, NTUser, NTUserOrLDAP -->
<param-value>NTUser</param-value>
</init-param>
Note :
Le mode « NTUserOrLDAP » permet une authentification sur le serveur DigDash via la sécurité Windows Intégrée, avec une option pour s’authentifier via le LDAP DigDash en cas d’échec.
Par exemple, un utilisateur du domaine NT pourra automatiquement passer la valve Waffle avec son authentifiant Windows, mais, s’il n’existe pas dans le LDAP DigDash, il se verra proposer un écran de login pour s’authentifier avec un login DigDash.
Dans ce mode, un paramètre supplémentaire « loginForm » de certaines URLs permet d’afficher de toujours afficher l’écran de login DigDash. Ainsi, l’authentifiant Windows ne sert qu’à passer la valve Waffle. Un cas typique d’usage est de permettre à un utilisateur Windows de se connecter en tant qu’ « admin » dans des pages de configuration DigDash.
apache-tomcat / webapps / adminconsole / digdash.jnlp
Par défaut, si le serveur DigDash est configuré pour utiliser la sécurité Windows Intégrée, la connexion du Studio au domaine DigDash Enterprise se fait en spécifiant le login Windows (domaine NT\user) et son mot de passe. Par exemple :
Utilisateur : NT_DOMAIN\user1
Mot de passe : ******
Il existe un moyen de permettre au Studio de se connecter automatiquement avec l’authentifiant de la session Windows courante. Les prérequis suivants sont nécessaires :
- Lancement du Studio à partir d’une session Windows authentifiée dans le domaine de sécurité Windows concerné
- L’URL du serveur DigDash, le nom du domaine DigDash Enterprise et le mode d’authentification du Studio (NTUser, NTUserOrLDAP…) sont paramétrés et forcés dans le fichier JNLP
Effectuer les réglages suivants dans le fichier <DDE install>/apache-tomcat/webapps/adminconsole/digdash.jnlp si vous souhaitez activer le login automatique avec la sécurité Windows Intégrée dans le Studio Digdash Enterprise.
A la fin de ce fichier se trouve le bloc XML d’exécution du Studio. Remplacer la valeur de certains paramètres de ce bloc comme illustré ci-dessous :
<argument>http://<serveur_digdash>:8080</argument>
<argument>ddenterpriseapi</argument>
<argument><%= XMLEncode(lang) %></argument>
<argument><%= XMLEncode(dashboard) %></argument>
<argument>-AuthMode=NTUserOrLDAP</argument><!-- "default", "NTUser" or "NTUserOrLDAP" or "NTUserOrLDAP,loginForm" or "External" -->
<argument>-ForceServerDomain</argument>
<% if (sslNoPathCheck) { %><argument>-SSLNoPathCheck</argument><% } %>
<% if (sslNoHostNameCheck) { %><argument>-SSLNoHostNameCheck</argument><% } %>
<% if (cryptPass) { %><argument>-CryptPass</argument><% } %>
</application-desc>
Description des paramètres modifiés :
- 1er argument : URL du serveur DigDash accessible par le Studio.
- 2ème argument : Nom du domaine DigDash Enterprise.
- 5ème argument : Mode d’authentification forcé du Studio. Seuls les modes « NTUser », « NTUserOrLDAP » ou « NTUserOrLDAP,loginForm » permettent le login automatique via la Sécurité Windows Intégrée.
- 6ème argument : Forcer l’URL et le nom de domaine : ils sont en lecture seule dans la boite de login du Studio