Page History

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

Contexte

Sur Rennes 1 nous travaillons à mieux intégrer le WF dans notre ENT. Pour ça on veut pouvoir mettre un lien (ou une iframe) vers le WF depuis l'ENT. PB, aujourd'hui, si on va vers le WF on tombe :
1) sur une page qui propose de faire un login CAS.
2) Si on clic sur le lien, on s'authentifie bien, mais on revient sur la page qui nous dit "bienvenue"
3) on clic sur Accueil pour finalement arriver à la page d'accueil qui nous intéresse
Si on forge un peu l'URL (en workflow/jsp/login-cas.faces) on évite la phase 1 mais pas la phase 2.

Modifications

Pour changer ça on a donc modifié le web.xml
1) modif de

Code Block
        <filter-mapping>
                <filter-name>CAS Filter</filter-name>
                <url-pattern>/jsp/login-cas.faces</url-pattern>
        </filter-mapping>

en

Code Block
        <filter-mapping>
                <filter-name>CAS Filter</filter-name>
                <url-pattern>/jsp/*</url-pattern>
        </filter-mapping>

Cette modif, n'est peut-être pas utile car l'on aurait pu continuer à utiliser workflow/jsp/login-cas.faces mais au moins là ça marche même avec une URL en workflow/
Attention néanmoins à laisser <url-pattern>/jsp/</url-pattern> et pas <url-pattern></url-pattern> car sinon le WS n'est plus "appelable" correctement (on a fait l'erreur...)
2) modif de

Code Block
        <servlet>
                <servlet-name>Faces Servlet</servlet-name>
                <!-  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> ->
                <servlet-class>org.esupportail.commons.web.servlet.FacesServlet</servlet-class>
                <init-param>
                        <param-name>default-view</param-name>
                        <param-value>/jsp/main-menu.faces</param-value>
                </init-param>
                <load-on-startup>1</load-on-startup>
        </servlet>

On ne référence plus login.faces mais main-menu.faces

Remarques

  • La conf Acegi fait que l'on passe systématiquement pas login.faces (http 302 après le login CAS) mais ensuite, l'application passant la main à JSF, le user voit bien le contenu de main-menu.faces. Même si l'URL contient login.faces... Pas génial mais ça marche. l'idéal dans notre cas aurait aussi été de modifier la conf Acegi mais on ne l'a pas fait.
  • Dans notre cas ne plus passer par login.faces nous va bien (on évite un clic). Dans le cas où l'on voudrait garder un login CAS et/ouLDAP et/ou Shibboleth il ne faudrait pas cette modification.