|
From: William D. <wil...@gm...> - 2014-10-30 18:34:17
|
En effet, le paramètre "spring-security-redirect" ne semble pas être pris
en compte par défaut dans Spring Security.
Il faut donc faire un petit développement côté application distante pour
gérer ce paramètre ?
Par contre, je ne comprends pas pourquoi ESIGate suite cette redirection et
pourquoi c'est à l'application distante de rediriger vers l'URL ESIGate.
Je pensais que c'était ESIGate qui gérait cela, une fois qu'il recevait la
réponse de l'application distante, il redirigeait vers l'URL d'origine.
Le 30 octobre 2014 13:42, alexis thaveau <ale...@gm...> a écrit
:
> Les logs indiquent pourtant que le paramètre spring-security-redirect
> est correcte maintenant
> "http://vpc-eadmin-appli:80/esigate/private/engagements/". Mais il ne
> semble pas pris en compte par votre application qui répond avec le
> header "Location:http://vpc-eadmin-appli2:8081/engagements/" :
>
> 13:10:55 INFO esigate.extension.FragmentLogging: - engagements
> http://vpc-eadmin-appli2:8081 - GET
>
> http://vpc-eadmin-appli2:8081/engagements/j_spring_cas_security_check?ticket=ST-963-fCj3ebpNrNj9FAg0LBQQ-vpc-eadmin-appli&spring-security-redirect=http://vpc-eadmin-appli:80/esigate/private/engagements/;jsessionid=67D2FBF37635292024D30C79D4BDD3CE
> HTTP/1.1
> <http://vpc-eadmin-appli2:8081/engagements/j_spring_cas_security_check?ticket=ST-963-fCj3ebpNrNj9FAg0LBQQ-vpc-eadmin-appli&spring-security-redirect=http://vpc-eadmin-appli:80/esigate/private/engagements/;jsessionid=67D2FBF37635292024D30C79D4BDD3CEHTTP/1.1>
> {accept:
>
> text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8,user-agent:
> Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like
> Gecko) Chrome/40.0.2203.3 Safari/537.36,accept-encoding: gzip,
> deflate, sdch,accept-language:
> fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4,X-Forwarded-For: 10.84.15.30,
> 10.83.199.94,x-forwarded-host: vpc-eadmin-appli,x-forwarded-server:
> vpc-eadmin-appli,X-Forwarded-Proto: http} -> HTTP/1.1 302 Déplacé
> Temporairement (306 ms) CACHE_MISS {Server:
> Apache-Coyote/1.1,Location:
> http://vpc-eadmin-appli2:8081/engagements/,Via: 1.1 localhost
> (Apache-HttpClient/4.3.5 (cache))}
>
>
> Il faudrait debugger l'application distante car elle ne semble pas
> prendre en compte le paramètre spring-security-redirect.
>
>
>
> Le 30 octobre 2014 13:13, William Dupuis <wil...@gm...> a
> écrit :
> > Pas d'amélioration.
> > Je suis toujours redirigé vers l'application.
> >
> > Le 30 octobre 2014 11:38, alexis thaveau <ale...@gm...> a
> écrit
> > :
> >
> >> Bonjour,
> >> Tu passes 2 fois dedans à cause de l'authentification CAS et de la
> >> redirection. Je t’envois une correction, peux tu tester ?
> >>
> >> Le 29 octobre 2014 18:33, William Dupuis <wil...@gm...> a
> >> écrit :
> >> > La modification du cookie était un test, j'ai remis la valeur par
> >> > défaut.
> >> >
> >> > Je passe bien dans la ligne 158.
> >> > J'y passe même 2 fois.
> >> > Voici la valeur des 3 paramètres :
> >> >
> >> > value :
> >> >
> >> >
> https://vpc-eadmin-appli/cas/login?service=http%3A%2F%2Fvpc-eadmin-appli2%3A8081%2Fengagements%2Fj_spring_cas_security_check
> >> > uri :
> >> >
> >> >
> http://vpc-eadmin-appli2:8081/engagements/;jsessionid=D5ACA819E6ABB85F8C21070CD208C626
> >> >
> >> >
> originalUrihttp://vpc-eadmin-appli:80/esigate/private/engagements/;jsessionid=D5ACA819E6ABB85F8C21070CD208C626
> >> >
> >> >
> >> > value : http://vpc-eadmin-appli2:8081/engagements/
> >> > uri :
> >> >
> >> >
> http://vpc-eadmin-appli2:8081/engagements/j_spring_cas_security_check?ticket=ST-461-rj0Fv4oDSeZHttw05kDq-vpc-eadmin-appli&spring-security-redirect=http://vpc-eadmin-appli2:8081/engagements/;jsessionid=D5ACA819E6ABB85F8C21070CD208C626
> >> > originalUri :
> >> >
> >> >
> http://vpc-eadmin-appli:80/esigate/private/engagements/;jsessionid=D5ACA819E6ABB85F8C21070CD208C626
> >> >
> >> >
> >> >
> >> > Le 29 octobre 2014 18:14, alexis thaveau <ale...@gm...> a
> >> > écrit
> >> > :
> >> >
> >> >> La c'est un autre cas. Le header "Location" est réécrit plus haut :
> >> >> ligne 158 dans la méthode public void copyHeaders(HttpRequest
> >> >> httpRequest, HttpEntityEnclosingRequest originalRequest,
> >> >> HttpResponse httpClientResponse, HttpResponse output)
> >> >>
> >> >>
> >> >> Mais je pense que tu vas aussi avoir des sourcis avec
> ESI_JSESSION_ID.
> >> >> esigate gère uniquement le JSESSION_ID, et le supprime dans les URL
> >> >> lorsqu'il est déjà posé en cookie.
> >> >>
> >> >>
> >> >> Le 29 octobre 2014 17:57, William Dupuis <wil...@gm...>
> a
> >> >> écrit :
> >> >> > Je ne passe jamais dans cette ligne.
> >> >> >
> >> >> > Dans le "if" précédent, il ne trouve pas le "Referer" dans les
> >> >> > paramétres du
> >> >> > header.
> >> >> > J'ai les headers suivants : host, accept, user-agent,
> >> >> > accept-encoding,
> >> >> > accept-language, cookie, x-forwarded-for, x-forwarded-host,
> >> >> > x-forwarded-server et connection.
> >> >> >
> >> >> > Concernant les valeurs d'originalUri et uri les voici :
> >> >> > originalUri :
> >> >> >
> >> >> >
> >> >> >
> http://vpc-eadmin-sgac-appli:80/esigate/private/engagements/;ESI_JSESSIONID=CDBD080E065A31319874FC7E653CB29E
> >> >> > uri :
> >> >> >
> >> >> >
> >> >> >
> http://vpc-eadmin-sgac-appli2:8081/engagements/;ESI_JSESSIONID=CDBD080E065A31319874FC7E653CB29E
> >> >> >
> >> >> >
> >> >> > Le 29 octobre 2014 15:43, alexis thaveau <ale...@gm...>
> a
> >> >> > écrit
> >> >> > :
> >> >> >
> >> >> >> On voit bien dans les logs une réponse de l'appli avec un
> Location:
> >> >> >> http://vpc-eadmin-appli2:8081/engagements/
> >> >> >> Esigate devrait récrire l'URL pour rester sur esigate.
> >> >> >>
> >> >> >> La réécriture est géré dans la classe HeaderManager.copyHeaders,
> le
> >> >> >> plus simple va être de mettre un point d'arrêt sur cette ligne :
> >> >> >> value = UriUtils.translateUrl(value, uri, originalUri);
> >> >> >>
> >> >> >> Et me donner les valeurs des 3 paramètres
> >> >> >>
> >> >> >> Le 29 octobre 2014 14:54, William Dupuis <
> wil...@gm...>
> >> >> >> a
> >> >> >> écrit :
> >> >> >> > Le résultat est toujours le même.
> >> >> >> > J'ai essayé en supprimant la directive "preserveHost=true" et
> cela
> >> >> >> > est
> >> >> >> > pareil.
> >> >> >> >
> >> >> >> > Le 29 octobre 2014 14:29, alexis thaveau
> >> >> >> > <ale...@gm...> a
> >> >> >> > écrit
> >> >> >> > :
> >> >> >> >
> >> >> >> >> Bonjour,
> >> >> >> >> Les logs ne donnent pas assez d'information, il faudrait
> ajouter
> >> >> >> >> l'extension FragmentLogging qui permet de tracer les
> >> >> >> >> requetes/reponses HTTP.
> >> >> >> >> Par contre, j'ai peut etre une piste qui viendrait du
> >> >> >> >> preserveHost
> >> >> >> >> qui
> >> >> >> >> est à true par défaut. Il faudrait tester avec :
> >> >> >> >> engagements.preserveHost=false
> >> >> >> >>
> >> >> >> >> L'application distante doit faire une redirection et esigate ne
> >> >> >> >> reconstruit par l'url correctement pour pointer vers esigate
> >> >> >> >>
> >> >> >> >> Le 29 octobre 2014 11:46, William Dupuis
> >> >> >> >> <wil...@gm...>
> >> >> >> >> a
> >> >> >> >> écrit :
> >> >> >> >> > Sans l'extension ServletExtension, le comportement est le
> même.
> >> >> >> >> > J'ai également supprimé le provider pour "bonita".
> >> >> >> >> > Voici les logs générés.
> >> >> >> >> >
> >> >> >> >> > Merci beaucoup pour le temps passer sur mon problème.
> >> >> >> >> >
> >> >> >> >> > Le 29 octobre 2014 11:11, alexis thaveau
> >> >> >> >> > <ale...@gm...> a
> >> >> >> >> > écrit
> >> >> >> >> > :
> >> >> >> >> >
> >> >> >> >> >> Bonjour,
> >> >> >> >> >>
> >> >> >> >> >> Est-ce que vous pouvez tester sans l'extension
> >> >> >> >> >> ServletExtension ?
> >> >> >> >> >>
> >> >> >> >> >> Le 29 octobre 2014 09:19, William Dupuis
> >> >> >> >> >> <wil...@gm...>
> >> >> >> >> >> a
> >> >> >> >> >> écrit :
> >> >> >> >> >> > Bonjour,
> >> >> >> >> >> > Voici les différents éléments demandés.
> >> >> >> >> >> >
> >> >> >> >> >> > Pour gérer ces logs, j'ai testé de me connecter à l'URL :
> >> >> >> >> >> > http://vpc-eadmin-appli/esigate/private/engagements/
> >> >> >> >> >> > Après m'être authentifié dans le CAS, j'ai été redirigé
> vers
> >> >> >> >> >> > l'URL
> >> >> >> >> >> > :
> >> >> >> >> >> > http://vpc-eadmin-appli2:8081/engagements/
> >> >> >> >> >> >
> >> >> >> >> >> > Merci pour votre aide.
> >> >> >> >> >> > William
> >> >> >> >> >> >
> >> >> >> >> >> > Le 28 octobre 2014 18:24, alexis thaveau
> >> >> >> >> >> > <ale...@gm...> a
> >> >> >> >> >> > écrit
> >> >> >> >> >> > :
> >> >> >> >> >> >
> >> >> >> >> >> >> Bonsoir,
> >> >> >> >> >> >>
> >> >> >> >> >> >> Est-ce que vous pouvez fournir la configuration esigate
> >> >> >> >> >> >> (esigate.properties + web.xml) ? Pouvez vous aussi
> fournir
> >> >> >> >> >> >> le
> >> >> >> >> >> >> fichier
> >> >> >> >> >> >> de log (avec un niveau debug sur esigate ) ?
> >> >> >> >> >> >>
> >> >> >> >> >> >> Merci
> >> >> >> >> >> >>
> >> >> >> >> >> >> Le 28 octobre 2014 17:01, William Dupuis
> >> >> >> >> >> >> <wil...@gm...>
> >> >> >> >> >> >> a
> >> >> >> >> >> >> écrit :
> >> >> >> >> >> >> > Bonjour,
> >> >> >> >> >> >> >
> >> >> >> >> >> >> > Je vous contacte car j'ai un problème de redirection
> >> >> >> >> >> >> > après
> >> >> >> >> >> >> > une
> >> >> >> >> >> >> > authentification ProxyCAS dans ESIGate.
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> > Détail de mon problème :
> >> >> >> >> >> >> >
> >> >> >> >> >> >> > J'ai installé un serveur ESIGate 5.0 en frontal de mes
> >> >> >> >> >> >> > applications.
> >> >> >> >> >> >> > Ce
> >> >> >> >> >> >> > serveur est cassifié et est utilisé comme ProxyCAS.
> >> >> >> >> >> >> >
> >> >> >> >> >> >> > Lorsque je teste le ProxyCAS sur les webapps de demo
> >> >> >> >> >> >> > (esigate-app-casified-aggregated1 et
> >> >> >> >> >> >> > esigate-app-casified-aggregated2),
> >> >> >> >> >> >> > cela
> >> >> >> >> >> >> > fonctionne bien.
> >> >> >> >> >> >> > Mes 2 webapps sont déployées dans le même Tomcat
> >> >> >> >> >> >> > qu'ESIGate.
> >> >> >> >> >> >> >
> >> >> >> >> >> >> > Par contre, lorsque j'essaye d'inclure des applications
> >> >> >> >> >> >> > tierces,
> >> >> >> >> >> >> > je
> >> >> >> >> >> >> > me
> >> >> >> >> >> >> > retrouve redirigé vers les applications tierces une
> fois
> >> >> >> >> >> >> > connecté.
> >> >> >> >> >> >> > Pourtant en regardant les logs, l'authentification via
> >> >> >> >> >> >> > ProxyCAS
> >> >> >> >> >> >> > dans
> >> >> >> >> >> >> > mes
> >> >> >> >> >> >> > applications tierces a bien fonctionné.
> >> >> >> >> >> >> >
> >> >> >> >> >> >> > Configuration du provider :
> >> >> >> >> >> >> >
> >> >> >> >> >> >> > appli.remoteUrlBase=http://adresse-locale:8080/appli/
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> appli.extensions=org.esigate.servlet.ServletExtension,org.esigate.extension.Esi,org.esigate.cas.CasAuthenticationHandler
> >> >> >> >> >> >> > appli.mappings=/private/appli/*
> >> >> >> >> >> >> >
> >> >> >> >> >> >> > Scénario :
> >> >> >> >> >> >> >
> >> >> >> >> >> >> > J'accède à mon adresse ESIGate sécurisée :
> >> >> >> >> >> >> > http://adresse-esigate/esigate/private/appli/
> >> >> >> >> >> >> >
> >> >> >> >> >> >> > Je suis redirigé vers mon CAS :
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> https://adresse-cas/cas/login?service=http%3A%2F%2Fadresse-esigate%2Fesigate%2Fprivate%2Fappli%2F
> >> >> >> >> >> >> >
> >> >> >> >> >> >> > Une fois authentifié dans CAS, je suis bien redirigé
> vers
> >> >> >> >> >> >> > http://adresse-esigate/esigate/private/appli/, puis je
> >> >> >> >> >> >> > suis
> >> >> >> >> >> >> > directement
> >> >> >> >> >> >> > redirigé avec une HTTP 302 vers mon adresse locale
> >> >> >> >> >> >> > http://adresse-locale:8080/appli/
> >> >> >> >> >> >> >
> >> >> >> >> >> >> > Si je re-accède à mon URL ESIGate
> >> >> >> >> >> >> > (http://adresse-esigate/esigate/private/appli), cela
> >> >> >> >> >> >> > fonctionne
> >> >> >> >> >> >> > bien,
> >> >> >> >> >> >> > je
> >> >> >> >> >> >> > suis authentifié.
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> > Quelqu'un a-t-il déjà rencontré ce problème ?
> >> >> >> >> >> >> > Je n'arrive pas à déterminer si mon problème vient de
> ma
> >> >> >> >> >> >> > configuration
> >> >> >> >> >> >> > ESIGate ou de mes applications tierces.
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> > Merci d'avance pour votre retour.
> >> >> >> >> >> >> > Cordialement,
> >> >> >> >> >> >> > William Dupuis
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> ------------------------------------------------------------------------------
> >> >> >> >> >> >> >
> >> >> >> >> >> >> > _______________________________________________
> >> >> >> >> >> >> > Webassembletool-users mailing list
> >> >> >> >> >> >> > Web...@li...
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >
> https://lists.sourceforge.net/lists/listinfo/webassembletool-users
> >> >> >> >> >> >> >
> >> >> >> >> >> >
> >> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >
> >> >> >
> >> >
> >> >
> >
> >
>
|