Code source wiki de Single sign-on NTLM

Modifié par Aurelie Bertrand le 2025/02/07 10:19

Masquer les derniers auteurs
jhurst 1.1 1 {{ddtoc/}}
2
3 ----
4
5 Ce document décrit comment connecter la valve Waffle dans DigDash Enterprise pour activer la Sécurité Intégrée Windows (NTLM...).
6
7 Cet add-on est situé dans le dossier **<DDE install>/add-ons/singlesignon/Waffle**.
8
9 La version actuelle de Waffle est 1.8.1.
10
Vola 18.1 11 Ce document décrit chaque dossiers et fichiers à modifier pour activer cette valve.
jhurst 1.1 12
mperroud 5.1 13 = Configuration de Tomcat =
14
jhurst 1.1 15 (((
Aurelie Bertrand 28.1 16 == Dossier lib ==
Aurelie Bertrand 26.1 17
18 Le chemin d'accès à ce dossier est le suivant :
19
Aurelie Bertrand 29.1 20 * sous Linux : **/usr/share/tomcat9/lib/**
21 * sous Windows : **C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib**
jhurst 1.1 22 )))
23
24 __Désinstallation de la version précédente de Waffle :__
25
Aurelie Bertrand 30.1 26 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 du dossier **lib **(chemin d'accès indiqué ci-dessus)** **avant d’installer la nouvelle.
jhurst 1.1 27
abertrand 19.1 28 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.
jhurst 1.1 29
Aurelie Bertrand 30.1 30 Ajoutez les librairies JAR Waffle du dossier **<DDE install>/add-ons/singlesignon/Waffle/Tomcat9** dans le dossier **lib **(chemin d'accès indiqué ci-dessus) :
michelhc 3.1 31
Aurelie Bertrand 30.1 32 * caffeine-2.8.4.ja
michelhc 3.1 33 * guava-19.0.jar
34 * jna-5.6.0.jar
35 * jna-platform-5.6.0.jar
36 * slf4j-api-1.7.21.jar
37 * slf4j-log4j12-1.7.21.jar
38 * log4j-1.2.15.jar
39 * waffle-jna-2.3.0.jar
40 * waffle-tomcat9-2.3.0.jar
41 * waffle_digdash_extension_tomcat9.jar
42 * log4j.properties
43
Aurelie Bertrand 28.1 44 == Fichier context.xml ==
jhurst 1.1 45
Aurelie Bertrand 26.1 46 Ce fichier est situé dans le répertoire suivant :
47
Aurelie Bertrand 29.1 48 * sous Linux : **/etc/tomcat9/**
49 * sous Windows : **C:\Program Files\Apache Software Foundation\Tomcat 9.0\conf**
Aurelie Bertrand 26.1 50
mperroud 7.2 51 Décommentez ou ajoutez le XML suivant pour la valve de sécurité :
fperrier 2.1 52
cvaiana 16.1 53 {{code language="XML" cssClass="notranslate"}}
mperroud 10.2 54 <Valve className="waffle.apache.SharedNegotiateAuthenticator"
55 principalFormat="fqn"
56 roleFormat="both"
57 sharedPasswd="SecretPwdToChange"
58 allowAddr="localhost,127.0.0.*">
59 </Valve>
fperrier 2.1 60 {{/code}}
jhurst 1.1 61
mperroud 7.2 62 (% class="box" %)
63 (((
mperroud 10.3 64 Pour décommenter, supprimez les séquences **<!~-~-** et **~-~->** entourant le code xml.
mperroud 7.2 65 )))
fperrier 2.1 66
abertrand 19.1 67 Il est nécessaire de changer le mot de passe partagé (**sharedPasswd**). Ce mot de passe devra être identique à celui spécifié lors de la configuration du Tableau de bord et du Studio.
mperroud 7.2 68
jhurst 1.1 69 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.
70
Aurelie Bertrand 33.1 71 Il est également possible d'ajouter des expressions régulières des chemins dont les ressources sont autorisées à passer la valve (//**excludedPaths**)//, passant ainsi en mode d’authentification LDAP. Par exemple :"/.*"
Aurelie Bertrand 32.1 72
jhurst 1.1 73 (% id="Hapache-tomcat2Fconf2Fweb.xml" %)
Aurelie Bertrand 26.1 74 == Fichier web.xml ==
jhurst 1.1 75
Aurelie Bertrand 26.1 76 Ce fichier est situé dans le répertoire suivant :
77
78 * sous Linux : **/etc/tomcat9/**
79 * sous Windows : **C:\Program Files\Apache Software Foundation\Tomcat 9.0\conf**
80
mperroud 7.2 81 Décommentez ou ajoutez le XML suivant pour la contrainte de sécurité :
jhurst 1.1 82
Aurelie Bertrand 20.1 83 {{code cssClass="notranslate" language="XML"}}
jhurst 1.1 84 <security-role>
Aurelie Bertrand 20.1 85 <role-name>Tout le monde</role-name><!-- Voir ci-dessous pour plus d'informations -->
jhurst 1.1 86 </security-role>
87 <security-constraint>
88 <display-name>Waffle Security Constraint</display-name>
89 <web-resource-collection>
90 <web-resource-name>Protected Area</web-resource-name>
Aurelie Bertrand 23.1 91 <url-pattern>digdash_dashboard*</url-pattern> <!-- Mettre ici l'url de la webapp sur laquelle
Aurelie Bertrand 22.1 92 va s'appliquer la waffle ou utiliser /* pour tout limiter -->
jhurst 1.1 93 </web-resource-collection>
94 <auth-constraint>
95 <role-name>Tout le monde</role-name>
96 </auth-constraint>
97 </security-constraint>
98 <security-constraint>
99 <display-name>vjdbc Security Constraint</display-name>
100 <web-resource-collection>
101 <web-resource-name>UnProtected Area</web-resource-name>
102 <url-pattern>/vjdbc/*</url-pattern>
103 </web-resource-collection>
104 </security-constraint>
105
106 {{/code}}
107
Aurelie Bertrand 20.1 108 Pour trouver le rôle à utiliser pour la waffle (role-name) :
109
110 * Ouvrez les logs de la waffle situé dans le fichier C:/Temp/dd-waffle.log.
111 * Trouvez la ligne SharedNegotiateAuthenticator.java:441 puis là où se trouvent les rôles.
112 * Sélectionnez le rôle à utiliser parmi ceux disponibles (choix client utilisateur).
113
jhurst 1.1 114 (% class="box warningmessage" %)
115 (((
116 Le nom du "security role" (role-name) DOIT correspondre au rôle réel que vous avez dans votre AD (localisé). Exemple : BUILTIN\Utilisateurs
117 )))
118
119 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.
120
Aurelie Bertrand 29.1 121 Il suffit de le placer dans le répertoire :
jhurst 1.1 122
Aurelie Bertrand 29.1 123 * sous Linux : **/usr/share/tomcat9/lib/**
124 * sous Windows : **C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib**
125
mperroud 5.1 126 = Configuration des applications DigDash =
mperroud 4.2 127
mperroud 5.1 128 (% class="wikigeneratedid" id="Hdigdash.properties" %)
Aurelie Bertrand 29.1 129 Toutes les applications de DigDash Enterprise se configurent via un seul fichier : **digdash.properties**
mperroud 4.2 130
131 L'utilisation de ce fichier est décrite ici : [[Externalisation des paramètres dans un fichier //properties//>>doc:Digdash.deployment.configuration.advanced_system_guide.WebHome||anchor="externalisation"]]
132
mperroud 9.2 133 Dans tout ce qui suit les noms par défaut des applications seront utilisés. Si vous avez renommé certains fichiers war vous devrez modifier le fichier **digdash.properties** en conséquence.
mperroud 4.2 134
mperroud 6.1 135 == Serveur (ddenterpriseapi.war) ==
mperroud 4.2 136
mperroud 6.6 137 Cherchez la définition du paramètre **authMethod** et changez sa valeur en **NTUser** ou **NTUserOrLDAP**:
138
cvaiana 16.1 139 {{code language="properties" cssClass="notranslate"}}
mperroud 6.6 140 ddenterpriseapi.authMethod=NTUser
141 {{/code}}
142
143 //Note ~://
144
145 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.
146
147 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.
148
149 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.
150
mperroud 6.2 151 == Tableau de bord (digdash_dashboard.war) ==
mperroud 4.2 152
mperroud 6.3 153 Cherchez la définition du paramètre **digdash_dashboard.sharedPasswd**.
mperroud 7.2 154 Décommentez la ligne en supprimant le caractère **#** en début de ligne.
mperroud 4.2 155
mperroud 6.3 156 Changez la valeur du mot de passe (toutes les applications utilisant ce même paramètre devront utiliser la même valeur).
mperroud 6.2 157
cvaiana 16.1 158 {{code language="properties" cssClass="notranslate"}}
mperroud 4.2 159 digdash_dashboard.sharedPasswd=SecretPwdToChange
jhurst 1.1 160 {{/code}}
161
162 (% class="box warningmessage" %)
163 (((
164 Le mot de passe spécifié doit être identique à celui que vous avez mis dans le fichier **<DDE install>/apache-tomcat/conf/context.xml**.
165 )))
166
167
168 (% class="wikigeneratedid" id="HParamE8tresrecommandE9spourleloginautomatiquedutableaudebord" %)
169 __Paramètres recommandés pour le login automatique du tableau de bord__ :
170
mperroud 6.3 171 Il est recommandé de configurer les paramètres suivants lors du déploiement en mode Sécurité Windows Intégrée (Waffle).
jhurst 1.1 172
mperroud 6.3 173 Spécifiez (et forcez) le domaine DigDash Enterprise :
jhurst 1.1 174
cvaiana 16.1 175 {{code language="properties" cssClass="notranslate"}}
mperroud 6.3 176 digdash_dashboard.DOMAIN=ddenterpriseapi
177 digdash_dashboard.FORCEDOMAIN=true
178
jhurst 1.1 179 {{/code}}
180
mperroud 6.3 181 Spécifiez (et forcez) l’URL du serveur du domain DigDash Enterprise.
182 Utilisez l’adresse //localhost// si l’application web ddenterpriseapi est installée sur le même Tomcat que l’application web digdash_dashboard.
183 Adaptez le port si nécessaire :
jhurst 1.1 184
cvaiana 16.1 185 {{code language="properties" cssClass="notranslate"}}
mperroud 6.3 186 digdash_dashboard.SERVERURL=http://localhost:8080
187 digdash_dashboard.FORCESERVERURL=true
jhurst 1.1 188 {{/code}}
189
190 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 :
191
cvaiana 16.1 192 {{code language="properties" cssClass="notranslate"}}
mperroud 6.4 193 digdash_dashboard.urlLogout=/adminconsole
jhurst 1.1 194 {{/code}}
195
196
197 (% class="box warningmessage" %)
198 (((
mperroud 6.4 199 Par défaut la déconnexion du tableau de bord retourne à la page de login de ce dernier. Cette page n’existe pas dans le contexte du SSO.
200 Il est important de spécifier une URL de retour en cas de déconnexion.
jhurst 1.1 201 )))
202
203 Voir la documentation [[Réglages avancés des paramètres système>>doc:Digdash.deployment.configuration.advanced_system_guide.WebHome]] pour plus de détails sur ces paramètres.
204
abertrand 19.1 205 == Studio (studio.war) ==
mperroud 6.3 206
mperroud 7.4 207 (% id="cke_bm_653S" style="display:none" %)
mperroud 6.3 208
mperroud 7.3 209 (% id="cke_bm_389S" style="display:none" %) (%%)Cherchez la définition du paramètre **authMethod.**
210 Décommentez la ligne en supprimant le caractère # en début de ligne.
211
cvaiana 16.1 212 {{code language="properties" cssClass="notranslate"}}
mperroud 7.3 213 studio.authMethod=NTUserOrLDAP
214 {{/code}}
215
mperroud 7.4 216 Cherchez la définition du paramètre **studio.sharedPasswd**.
217 Décommentez la ligne en supprimant le caractère # en début de ligne.
mperroud 6.5 218 Changez la valeur du mot de passe (toutes les applications utilisant ce même paramètre devront utiliser la même valeur).
mperroud 6.3 219
cvaiana 16.1 220 {{code language="properties" cssClass="notranslate"}}
mperroud 6.7 221 studio.sharedPasswd=SecretPwdToChange
jhurst 1.1 222 {{/code}}
223
224 (% class="box warningmessage" %)
225 (((
226 Le mot de passe spécifié doit être identique à celui que vous avez mis dans le fichier **<DDE install>/apache-tomcat/conf/context.xml**.
227 )))
228
229
abertrand 19.1 230 __Paramètres recommandés pour le login automatique du Studio__ :
jhurst 1.1 231
mperroud 6.5 232 Il est recommandé de configurer les paramètres suivants lors du déploiement en mode Sécurité Windows Intégrée (Waffle).
jhurst 1.1 233
mperroud 6.5 234 Spécifiez (et forcez) le domaine DigDash Enterprise :
jhurst 1.1 235
cvaiana 16.1 236 {{code language="properties" cssClass="notranslate"}}
mperroud 6.5 237 studio.FORCEDOMAIN=true
238 studio.DOMAIN=ddenterpriseapi
jhurst 1.1 239 {{/code}}
240
mperroud 6.5 241 Spécifiez (et forcez) l’URL du serveur du domain DigDash Enterprise.
abertrand 19.1 242 Utilisez l’adresse **//localhost//** si l’application web **ddenterpriseapi** est installée sur le même Tomcat que l’application **studio**.
mperroud 6.5 243 Adaptez le port si nécessaire :
jhurst 1.1 244
cvaiana 16.1 245 {{code language="properties" cssClass="notranslate"}}
mperroud 6.5 246 studio.FORCESERVERURL=true
247 studio.SERVERURL=http://localhost:8080
jhurst 1.1 248 {{/code}}
249
mperroud 6.5 250 Spécifiez une URL de déconnexion afin que l’utilisateur puisse se déconnecter de DigDash Enterprise et, par exemple, revenir à une page d’Intranet :
jhurst 1.1 251
cvaiana 16.1 252 {{code language="properties" cssClass="notranslate"}}
mperroud 6.5 253 studio.urlLogout=/adminconsole
jhurst 1.1 254 {{/code}}
255
abertrand 19.1 256 Par défaut, la déconnexion du Studio retourne à la page de login de ce dernier. Cette page n’existe pas dans le contexte du SSO.
mperroud 6.5 257 Il est important de spécifier une URL de retour en cas de déconnexion.