Code source wiki de Single sign-on NTLM

Version 31.1 par Aurelie Bertrand le 2024/05/22 15:04

Afficher les derniers auteurs
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
11 Ce document décrit chaque dossiers et fichiers à modifier pour activer cette valve.
12
13 = Configuration de Tomcat =
14
15 (((
16 == Dossier lib ==
17
18 Le chemin d'accès à ce dossier est le suivant :
19
20 * sous Linux : **/usr/share/tomcat9/lib/**
21 * sous Windows : **C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib**
22 )))
23
24 __Désinstallation de la version précédente de Waffle :__
25
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.
27
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.
29
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) :
31
32 * caffeine-2.8.4.ja
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
44 == Fichier context.xml ==
45
46 Ce fichier est situé dans le répertoire suivant :
47
48 * sous Linux : **/etc/tomcat9/**
49 * sous Windows : **C:\Program Files\Apache Software Foundation\Tomcat 9.0\conf**
50
51 Décommentez ou ajoutez le XML suivant pour la valve de sécurité :
52
53 {{code language="XML" cssClass="notranslate"}}
54 <Valve className="waffle.apache.SharedNegotiateAuthenticator"
55 principalFormat="fqn"
56 roleFormat="both"
57 sharedPasswd="SecretPwdToChange"
58 allowAddr="localhost,127.0.0.*">
59 </Valve>
60 {{/code}}
61
62 (% class="box" %)
63 (((
64 Pour décommenter, supprimez les séquences **<!~-~-** et **~-~->** entourant le code xml.
65 )))
66
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.
68
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
71 (% id="Hapache-tomcat2Fconf2Fweb.xml" %)
72 == Fichier web.xml ==
73
74 Ce fichier est situé dans le répertoire suivant :
75
76 * sous Linux : **/etc/tomcat9/**
77 * sous Windows : **C:\Program Files\Apache Software Foundation\Tomcat 9.0\conf**
78
79 Décommentez ou ajoutez le XML suivant pour la contrainte de sécurité :
80
81 {{code cssClass="notranslate" language="XML"}}
82 <security-role>
83 <role-name>Tout le monde</role-name><!-- Voir ci-dessous pour plus d'informations -->
84 </security-role>
85 <security-constraint>
86 <display-name>Waffle Security Constraint</display-name>
87 <web-resource-collection>
88 <web-resource-name>Protected Area</web-resource-name>
89 <url-pattern>digdash_dashboard*</url-pattern> <!-- Mettre ici l'url de la webapp sur laquelle
90 va s'appliquer la waffle ou utiliser /* pour tout limiter -->
91 </web-resource-collection>
92 <auth-constraint>
93 <role-name>Tout le monde</role-name>
94 </auth-constraint>
95 </security-constraint>
96 <security-constraint>
97 <display-name>vjdbc Security Constraint</display-name>
98 <web-resource-collection>
99 <web-resource-name>UnProtected Area</web-resource-name>
100 <url-pattern>/vjdbc/*</url-pattern>
101 </web-resource-collection>
102 </security-constraint>
103
104 {{/code}}
105
106 Pour trouver le rôle à utiliser pour la waffle (role-name) :
107
108 * Ouvrez les logs de la waffle situé dans le fichier C:/Temp/dd-waffle.log.
109 * Trouvez la ligne SharedNegotiateAuthenticator.java:441 puis là où se trouvent les rôles.
110 * Sélectionnez le rôle à utiliser parmi ceux disponibles (choix client utilisateur).
111
112 (% class="box warningmessage" %)
113 (((
114 Le nom du "security role" (role-name) DOIT correspondre au rôle réel que vous avez dans votre AD (localisé). Exemple : BUILTIN\Utilisateurs
115 )))
116
117 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.
118
119 Il suffit de le placer dans le répertoire :
120
121 * sous Linux : **/usr/share/tomcat9/lib/**
122 * sous Windows : **C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib**
123
124 = Configuration des applications DigDash =
125
126 (% class="wikigeneratedid" id="Hdigdash.properties" %)
127 Toutes les applications de DigDash Enterprise se configurent via un seul fichier : **digdash.properties**
128
129 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"]]
130
131 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.
132
133 == Serveur (ddenterpriseapi.war) ==
134
135 Cherchez la définition du paramètre **authMethod** et changez sa valeur en **NTUser** ou **NTUserOrLDAP**:
136
137 {{code language="properties" cssClass="notranslate"}}
138 ddenterpriseapi.authMethod=NTUser
139 {{/code}}
140
141 //Note ~://
142
143 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.
144
145 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.
146
147 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.
148
149 == Tableau de bord (digdash_dashboard.war) ==
150
151 Cherchez la définition du paramètre **digdash_dashboard.sharedPasswd**.
152 Décommentez la ligne en supprimant le caractère **#** en début de ligne.
153
154 Changez la valeur du mot de passe (toutes les applications utilisant ce même paramètre devront utiliser la même valeur).
155
156 {{code language="properties" cssClass="notranslate"}}
157 digdash_dashboard.sharedPasswd=SecretPwdToChange
158 {{/code}}
159
160 (% class="box warningmessage" %)
161 (((
162 Le mot de passe spécifié doit être identique à celui que vous avez mis dans le fichier **<DDE install>/apache-tomcat/conf/context.xml**.
163 )))
164
165
166 (% class="wikigeneratedid" id="HParamE8tresrecommandE9spourleloginautomatiquedutableaudebord" %)
167 __Paramètres recommandés pour le login automatique du tableau de bord__ :
168
169 Il est recommandé de configurer les paramètres suivants lors du déploiement en mode Sécurité Windows Intégrée (Waffle).
170
171 Spécifiez (et forcez) le domaine DigDash Enterprise :
172
173 {{code language="properties" cssClass="notranslate"}}
174 digdash_dashboard.DOMAIN=ddenterpriseapi
175 digdash_dashboard.FORCEDOMAIN=true
176
177 {{/code}}
178
179 Spécifiez (et forcez) l’URL du serveur du domain DigDash Enterprise.
180 Utilisez l’adresse //localhost// si l’application web ddenterpriseapi est installée sur le même Tomcat que l’application web digdash_dashboard.
181 Adaptez le port si nécessaire :
182
183 {{code language="properties" cssClass="notranslate"}}
184 digdash_dashboard.SERVERURL=http://localhost:8080
185 digdash_dashboard.FORCESERVERURL=true
186 {{/code}}
187
188 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 :
189
190 {{code language="properties" cssClass="notranslate"}}
191 digdash_dashboard.urlLogout=/adminconsole
192 {{/code}}
193
194
195 (% class="box warningmessage" %)
196 (((
197 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.
198 Il est important de spécifier une URL de retour en cas de déconnexion.
199 )))
200
201 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.
202
203 == Studio (studio.war) ==
204
205 (% id="cke_bm_653S" style="display:none" %)
206
207 (% id="cke_bm_389S" style="display:none" %) (%%)Cherchez la définition du paramètre **authMethod.**
208 Décommentez la ligne en supprimant le caractère # en début de ligne.
209
210 {{code language="properties" cssClass="notranslate"}}
211 studio.authMethod=NTUserOrLDAP
212 {{/code}}
213
214 Cherchez la définition du paramètre **studio.sharedPasswd**.
215 Décommentez la ligne en supprimant le caractère # en début de ligne.
216 Changez la valeur du mot de passe (toutes les applications utilisant ce même paramètre devront utiliser la même valeur).
217
218 {{code language="properties" cssClass="notranslate"}}
219 studio.sharedPasswd=SecretPwdToChange
220 {{/code}}
221
222 (% class="box warningmessage" %)
223 (((
224 Le mot de passe spécifié doit être identique à celui que vous avez mis dans le fichier **<DDE install>/apache-tomcat/conf/context.xml**.
225 )))
226
227
228 __Paramètres recommandés pour le login automatique du Studio__ :
229
230 Il est recommandé de configurer les paramètres suivants lors du déploiement en mode Sécurité Windows Intégrée (Waffle).
231
232 Spécifiez (et forcez) le domaine DigDash Enterprise :
233
234 {{code language="properties" cssClass="notranslate"}}
235 studio.FORCEDOMAIN=true
236 studio.DOMAIN=ddenterpriseapi
237 {{/code}}
238
239 Spécifiez (et forcez) l’URL du serveur du domain DigDash Enterprise.
240 Utilisez l’adresse **//localhost//** si l’application web **ddenterpriseapi** est installée sur le même Tomcat que l’application **studio**.
241 Adaptez le port si nécessaire :
242
243 {{code language="properties" cssClass="notranslate"}}
244 studio.FORCESERVERURL=true
245 studio.SERVERURL=http://localhost:8080
246 {{/code}}
247
248 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 :
249
250 {{code language="properties" cssClass="notranslate"}}
251 studio.urlLogout=/adminconsole
252 {{/code}}
253
254 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.
255 Il est important de spécifier une URL de retour en cas de déconnexion.