Code source wiki de Single sign-on NTLM

Modifié par mperroud le 2021/03/29 06:27

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 (((
14 = apache-tomcat / lib =
15 )))
16
17 __Désinstallation de la version précédente de Waffle :__
18
19 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.
20
21 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..
22
23 __Tomcat 9 **(à partir de la version 2020R2 patch 20210105)**__
24
25 Ajouter les librairies JAR Waffle du dossier **<DDE install>/add-ons/singlesignon/Waffle/Tomcat9** dans le dossier **<DDE install>/apache-tomcat/lib **:
26
27 * caffeine-2.8.4.jar
28 * guava-19.0.jar
29 * jna-5.6.0.jar
30 * jna-platform-5.6.0.jar
31 * slf4j-api-1.7.21.jar
32 * slf4j-log4j12-1.7.21.jar
33 * log4j-1.2.15.jar
34 * waffle-jna-2.3.0.jar
35 * waffle-tomcat9-2.3.0.jar
36 * waffle_digdash_extension_tomcat9.jar
37 * log4j.properties
38
39 __Tomcat 8__
40
41 Ajouter les librairies JAR Waffle du dossier **<DDE install>/add-ons/singlesignon/Waffle/Tomcat8** dans le dossier **<DDE install>/apache-tomcat/lib **:
42
43 * guava-19.0.jar
44 * jna-4.2.1.jar
45 * jna-platform-4.2.1.jar
46 * slf4j-api-1.7.21.jar
47 * slf4j-log4j12-1.7.21.jar
48 * log4j-1.2.15.jar
49 * waffle-jna-1.8.1.jar
50 * waffle-tomcat8-1.8.1.jar
51 * waffle_digdash_extension_tomcat8.jar
52 * log4j.properties
53
54 __Tomcat 7__
55
56 Ajouter les librairies JAR Waffle du dossier **<DDE install>/add-ons/singlesignon/Waffle/Tomcat7** dans le dossier **<DDE install>/apache-tomcat/lib **:
57
58 * guava-19.0.jar
59 * jna-4.2.1.jar
60 * jna-platform-4.2.1.jar
61 * slf4j-api-1.7.21.jar
62 * slf4j-log4j12-1.7.21.jar
63 * log4j-1.2.15.jar
64 * waffle-jna-1.8.1.jar
65 * waffle-tomcat7-1.8.1.jar
66 * waffle_digdash_extension_tomcat7.jar
67 * log4j.properties
68
69 = apache-tomcat / conf / context.xml =
70
71 Ajouter le XML suivant pour la valve de sécurité :
72
73 {{code language="XML"}}
74 <Valve className="waffle.apache.SharedNegotiateAuthenticator" principalFormat="fqn" roleFormat="both"
75 sharedPasswd="SecretPwdToChange" allowAddr="localhost,127.0.0.*"></Valve>
76 <Realm className="waffle.apache.WindowsRealm"></Realm>
77 {{/code}}
78
79 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).
80
81 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.
82
83 (% id="Hapache-tomcat2Fconf2Fweb.xml" %)
84 = apache-tomcat / conf / web.xml =
85
86 Ajouter le XML suivant pour la contrainte de sécurité :
87
88 {{code language="XML"}}
89 <security-role>
90 <role-name>Tout le monde</role-name>
91 </security-role>
92 <security-constraint>
93 <display-name>Waffle Security Constraint</display-name>
94 <web-resource-collection>
95 <web-resource-name>Protected Area</web-resource-name>
96 <url-pattern>/*</url-pattern>
97 </web-resource-collection>
98 <auth-constraint>
99 <role-name>Tout le monde</role-name>
100 </auth-constraint>
101 </security-constraint>
102 <security-constraint>
103 <display-name>vjdbc Security Constraint</display-name>
104 <web-resource-collection>
105 <web-resource-name>UnProtected Area</web-resource-name>
106 <url-pattern>/vjdbc/*</url-pattern>
107 </web-resource-collection>
108 </security-constraint>
109
110 {{/code}}
111
112
113 (% class="box warningmessage" %)
114 (((
115 Le nom du "security role" (role-name) DOIT correspondre au rôle réel que vous avez dans votre AD (localisé). Exemple : BUILTIN\Utilisateurs
116 )))
117
118 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.
119
120 Il suffit de le placer dans le répertoire **<DDE install>/apache-tomcat/lib**.
121
122 (% id="Hapache-tomcat2Fwebapps2Fdigdash_dashboard2FWEB-INF2Fweb.xml" %)
123 = apache-tomcat / webapps / digdash_dashboard / WEB-INF / web.xml =
124
125 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  :
126
127 {{code language="XML"}}
128 <init-param>
129 <param-name>sharedPasswd</param-name>
130 <param-value>SecretPwdToChange</param-value>
131 </init-param>
132 {{/code}}
133
134
135 (% class="box warningmessage" %)
136 (((
137 Le mot de passe spécifié doit être identique à celui que vous avez mis dans le fichier **<DDE install>/apache-tomcat/conf/context.xml**.
138 )))
139
140
141
142 (% class="wikigeneratedid" id="HParamE8tresrecommandE9spourleloginautomatiquedutableaudebord" %)
143 __Paramètres recommandés pour le login automatique du tableau de bord__ :
144
145 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).
146
147 Spécifier (et forcer) le domaine DigDash Enterprise :
148
149 {{code language="XML"}}
150 <init-param>
151 <param-name>DOMAIN</param-name>
152 <param-value>ddenterpriseapi</param-value>
153 </init-param>
154 <init-param>
155 <param-name>FORCEDOMAIN</param-name>
156 <param-value>true</param-value>
157 </init-param>
158 {{/code}}
159
160 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 :
161
162 {{code language="XML"}}
163 <init-param>
164 <param-name>SERVERURL</param-name>
165 <param-value>http://localhost:8080</param-value>
166 </init-param>
167 <init-param>
168 <param-name>FORCESERVERURL</param-name>
169 <param-value>true</param-value>
170 </init-param>
171 {{/code}}
172
173 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 :
174
175 {{code language="XML"}}
176 <init-param>
177 <param-name>urlLogout</param-name>
178 <param-value>/adminconsole</param-value>
179 </init-param>
180
181 {{/code}}
182
183
184 (% class="box warningmessage" %)
185 (((
186 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. Il est important de spécifier une URL de retour en cas de déconnexion.
187 )))
188
189 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.
190
191 = apache-tomcat / webapps / studio / WEB-INF / web.xml =
192
193 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 :
194
195 {{code language="XML"}}
196 <context-param>
197 <param-name>sharedPasswd</param-name>
198 <param-value>SecretPwdToChange</param-value>
199 </context-param>
200 {{/code}}
201
202
203 (% class="box warningmessage" %)
204 (((
205 Le mot de passe spécifié doit être identique à celui que vous avez mis dans le fichier **<DDE install>/apache-tomcat/conf/context.xml**.
206 )))
207
208 (% id="cke_bm_213S" style="display:none" %) (%%)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  :
209
210 {{code language="XML"}}
211 <context-param>
212 <param-name>authMethod</param-name>
213 <param-value>NTUserOrLDAP</param-value>
214 </context-param>
215 {{/code}}
216
217 Astuce : le code XML est commenté lorsque il est entouré des balises <!~-~- et ~-~->
218
219 __Paramètres recommandés pour le login automatique du Web Studio__ :
220
221 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).
222
223 Spécifier (et forcer) le domaine DigDash Enterprise :
224
225 {{code language="xml"}}
226 <context-param>
227    <param-name>FORCEDOMAIN</param-name>
228    <param-value>true</param-value>
229 </context-param>
230 <context-param>
231    <param-name>DOMAIN</param-name>
232    <param-value>ddenterpriseapi</param-value>
233 </context-param>
234 {{/code}}
235
236 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 :
237
238 {{code language="xml"}}
239 <context-param>
240    <param-name>FORCESERVERURL</param-name>
241    <param-value>true</param-value>
242 </context-param>
243 <context-param>
244    <param-name>SERVERURL</param-name>
245    <param-value>http://localhost:8080</param-value>
246 </context-param>
247 {{/code}}
248
249 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 :
250
251 {{code language="xml"}}
252 <context-param>
253   <param-name>urlLogout</param-name>
254   <param-value>/adminconsole</param-value>
255 </context-param>
256 {{/code}}
257
258 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.
259
260 = apache-tomcat / webapps / ddenterpriseapi / WEB-INF / web.xml =
261
262 Chercher la définition du paramètre **authMethod** dans ce fichier et changer sa valeur en **NTUser** :
263
264 {{code language="XML"}}
265 <init-param>
266 <param-name>authMethod</param-name>
267 <!-- possible values: LDAP, PassThru, NTUser, NTUserOrLDAP -->
268 <param-value>NTUser</param-value>
269 </init-param>
270 {{/code}}
271
272 //Note ~://
273
274 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.
275
276 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.
277
278 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.
279
280 (% id="Hapache-tomcat2Fwebapps2Fadminconsole2Fdigdash.jnlp" %)
281 = apache-tomcat / webapps / adminconsole / digdash.jnlp =
282
283 {{warning}}
284 On privilégiera l'utilisation du Studio Web à partir de la version 2020R2.
285 {{/warning}}
286
287 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 :
288
289 Utilisateur : NT_DOMAIN\user1
290
291 Mot de passe : ~*~*~*~*~*~*
292
293 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 :
294
295 * Lancement du Studio à partir d’une session Windows authentifiée dans le domaine de sécurité Windows concerné
296 * 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
297
298 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.
299
300 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 :
301
302 {{code language="JSP"}}
303 <application-desc main-class="commandline.CommandLineMain">
304 <argument>http://<serveur_digdash>:8080</argument>
305 <argument>ddenterpriseapi</argument>
306 <argument><%= XMLEncode(lang) %></argument>
307 <argument><%= XMLEncode(dashboard) %></argument>
308 <argument>-AuthMode=NTUserOrLDAP</argument><!-- "default", "NTUser" or "NTUserOrLDAP" or "NTUserOrLDAP,loginForm" or "External" -->
309 <argument>-ForceServerDomain</argument>
310 <% if (sslNoPathCheck) { %><argument>-SSLNoPathCheck</argument><% } %>
311 <% if (sslNoHostNameCheck) { %><argument>-SSLNoHostNameCheck</argument><% } %>
312 <% if (cryptPass) { %><argument>-CryptPass</argument><% } %>
313 </application-desc>
314 {{/code}}
315
316 Description des paramètres modifiés :
317
318 * **1^^er^^ argument** : URL du serveur DigDash accessible par le Studio.
319 * **2^^ème^^ argument** : Nom du domaine DigDash Enterprise.
320 * **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.
321 * **6^^ème^^ argument** : Forcer l’URL et le nom de domaine : ils sont en lecture seule dans la boite de login du Studio