EsupPortail / esup-uportal

Le fork EsupPortail d'uPortal est en maintenance. Nous vous conseillons d'utiliser directement uPortal fourni par Apereo
https://www.esup-portail.org/display/ESUPMU/
Apache License 2.0
18 stars 26 forks source link

propagation des system properties de java #110

Open vieville opened 10 years ago

vieville commented 10 years ago

Bonjour,

Nous avons défini deux variables dans env.sh, la première pour définir le nom du portail et la deuxième pour fixer le real name du serveur. dans env.sh : ... export JAVA_OPTS="$JAVA_OPTS -DrunnEntServerHost=preportail4.univ-lille1.fr" export JAVA_OPTS="$JAVA_OPTS -DrunnEntServerHostNum=${entName}.univ-lille1.fr" ...

dans esup.properties : ... environment.build.uportal.server=${runnEntServerHost} environment.build.real.uportal.server=${runnEntServerHostNum} ...

Ca fonctionne correctement pour le login mais lors du logout nous obtenons l'url de logout suivante : https://${runnEntServerHost}/uPortal/Login qui indique que la variable environment.build.uportal.server n'a pas été résolue. C'est d'ailleurs aussi cette url qui est transmise au serveur cas.

Nous avons sans doute oublié quelque chose, mais nous ne voyons pas sur quelle piste chercher.

Merci de votre aide

Claude

vbonamy commented 10 years ago

Bonjour Claude,

Non tu as raison, il y a effectivement un problème ici. Je retrouve le même comportement sur la VM qui a servi pour le Workshop.

Pour le Logout, le LogoutController.java lit directement le fichier security.properties sans passer par les mécanismes d'injection (et donc de substitution via le placeholder) à la spring.

Le mieux à faire ici malheureusement est donc de modifier directement "en dur" la propriété logoutRedirect.root de security.properties en y mettant le nom du serveur de production. Avec les mêmes confs pour un server de test et de production par exemple, le logout ne fonctionnera correctement que sur la production alors.

Vincent.