Projet esup-lecture
Pages enfant
  • CAS en mode servlet

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Migrated to Confluence 5.3
Sommaire

LOG

Voici les log d'accès typiques de l'accès à un tomcat hébergeant esup-lecture (dans un context "/esup-lecture") où l'on fait appel à une ressource protégée par CAS. Cette ressource se trouvant dans le context "/sources" (sur le même tomcat ici).

...

Bloc de code
# NOTE : tomcat.host, tomcat.port, cas.url are used in servlet mode for CAS configuration
#
# Tomcat host, defaults to localhost.
#
tomcat.host=uportal.univ-rennes1.fr
#
# Tomcat port, defaults to 8080.
#
tomcat.port=80

Explications :

  • tomcat.host est positionné à uportal.univ-rennes1.fr qui est le nom utilisé par le virtualhost apache en frontal du tomcat. Un frontal apache est utilisé pour notamment gérer le https

properties/config.properties

La partie casService de ce fichier de configuration est utilisée en mode portlet et servlet. Elle sert aussi bien en dynamique (utilisation des properties par Spring) qu'en statique (utilisation via la tache ant deploy) pour configurer le fichier web.xml

Bloc de code

##### casService #####
# the casServiceBean servletCasService in servlet mode OR portletCasService in portlet mode
# CasProxyServletURL, defaults to https://localhost:8080/esup-lecture/CasProxyServlet
# Please don't change /CasProxyServlet at the URL end
#
cas.proxy.servlet.url=httpscasService.bean=portletCasService
# The service that retrieves PTs from the CAS server. This property
# must be the same as the one set in parameter casTargetService of portletCasService
# used when publishing the portlet (portlet mode)
casService.service=http://uportal.univ-rennes1.fr/esup-lecture/CasProxyServlet
# The URL used on the CAS server (servlet and portlet mode)
casService.url=https://sso-cas.univ-rennes1.fr
# The maincallback URL ofused by the CAsCAS server to pass the PGT to
#
cas.url the application (servlet and portlet mode)
casService.proxyCallbackUrl=https://sso-casuportal.univ-rennes1.fr

Explications :

/esup-lecture/CasProxyServlet
  • casService.bean permet de spécifier le bean spring à utiliser. A savoir
    • servletCasServiceen mode servlet
    • portletCasServiceen mode pportlet
  • casService.service est positionné à http:// tomcat.host est positionné à uportal.univ-rennes1.fr qui /esup-lecture
    Cette propriété, utilisée uniquement en mode portlet, est le nom de service utilisé par le virtualhost apache en frontal du tomcat. Un frontal apache est utilisé pour notamment gérer le httpsportail pour obtenir un PT pour esup-leture
  • casService.url est simplement l'adresse du serveur cas, éventuellement complété d'un chemin d'accès au service (ex: /cas)
  • casService.proxyCallbackUrl cas.proxy.servlet.url est positionné à https://uportal.univ-rennes1.fr/esup-lecture/CasProxyServlet
    Il est de la forme : https + <virtual_host> + <context esup-lecture> + CasProxyServlet
    Cette propriété définit l'URL qui sera utilisé par le serveur CAS pour transmettre un PGT à esup-lecture

...

Une fois esup-lecture déployé en mode servlet le web.xml de l'application devrait ressembler à ceci (opération automatique via ant deploy) :

Bloc de code
<?xml version="1.0"?>
.../...
    <context-param>
        <param-name>edu.yale.its.tp.cas.proxyUrl</param-name>
        <param-value>https://sso-cas.univ-rennes1.fr/proxy</param-value>
    </context-param>
 .../...
    <filter>
        <display-name>CASFilter</display-name>
        <filter-name>CAS Filter</filter-name>
        <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
        <init-param>
            <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
            <param-value>https://sso-cas.univ-rennes1.fr/login</param-value>
        </init-param>
        <init-param>
            <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
            <param-value>https://sso-cas.univ-rennes1.fr/serviceValidate</param-value>
        </init-param>
        <init-param>
            <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
            <param-value>uportal.univ-rennes1.fr</param-value>
        </init-param>
        <init-param>
            <param-name>edu.yale.its.tp.cas.client.filter.wrapRequest</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>edu.yale.its.tp.cas.client.filter.proxyCallbackUrl</param-name>
            <param-value>https://uportal.univ-rennes1.fr/esup-lecture/CasProxyServlet</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CAS Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
   
    <servlet>
        <servlet-name>ProxyTicketReceptor</servlet-name>
        <servlet-class>edu.yale.its.tp.cas.proxy.ProxyTicketReceptor</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>ProxyTicketReceptor</servlet-name>
        <url-pattern>/CasProxyServlet</url-pattern>
    </servlet-mapping>
     
.../...
</web-app>

...