Code source wiki de Single sign-on NTLM

Version 24.1 par Aurelie Bertrand le 2024/05/14 16:38

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