Apps

Module SSO CAS 4.0

Description

Ce module ajoute le support des authentifications basées sur le serveur Jasig CAS (Central Authentication Service) pour permettre une authentification unique (SSO).


Installation

1. Installation

1.1 Configuration du LDAP sur JCMS

Vous devrez certainement utiliser un serveur LDAP pour permettre la synchronisation des membres authentifié via CAS. Configurez la connexion LDAP de JCMS en conséquence.

Faites un test de connexion d'un utilisateur encore inexistant dans JCMS pour vous assurez que la synchronisation LDAP s'effectue correctement.

1.2 Configuration du module CAS

Certificat SSL : Avant de démarrer votre webapp, importez le certificat SSL du serveur CAS dans la JVM exécutant JCMS.

Par exemple : 

keytool -import -file /path/to/cas-server/certificate.crt -alias mydomain -keystore jre/lib/security/cacerts

Propriété : Dans l'interface d'administration du module, entrez l'url de déconnexion de CAS.

Par exemple : https://mycas-server.example.com/logout
Si cette propriété n'est pas spécifiée, le module sera désactivé !

ServletFilters CAS : Ajoutez et configurer les ServletFilter du client CAS dans le fichier web.xml en suivant les instructions disponibles sur le site officiel de CAS :  https://wiki.jasig.org/display/CASC/Configuring+the+Jasig+CAS+Client+for+Java+in+the+web.xml 

IMPORTANT : Veillez à configurer ces servlets AVANT les servlets existantes de JCMS dans le web.xml

Attention! Une fois ces servlets configurées, une authentification CAS sera demandée et requise, les autres modes d'authentification ne seront plus disponibles. Vous pouvez modifier ce comportement en consultation la section "Autoriser les connexions sans CAS" ci-dessous.

2. Configurations avancées

2.1 Autoriser les connexions sans CAS

Pour permettre l'accès à JCMS aux utilisateurs ne disposant pas d'un accès via CAS:

  1. Ajoutez la servlet JCMS CAS Filter (com.jalios.jcmsplugin.cas.CasFilter) dans le fichier web.xml, et assurez vous de placer sa déclaration AVANT la servlet d'authentification CAS Authentication Filter(org.jasig.cas.client.authentication.AuthenticationFilter)
  2. Dans les propriétés d'administration du module CAS, choisissez Non pour l'option Authentification CAS obligatoire
    Cette option ne modifie pas le caractère privé du site tel que configuré dans les propriétés d'administration, si le site est privé, une authentification sera nécessaire, via CAS ou non.

Lors de leur accès à JCMS, les utilisateurs ne seront plus redirigés automatiquement sur le serveur CAS. A la place, la fenêtre d'authentification habituelle de JCMS affichera en plus un bouton "Connexion avec CAS".

Capture d'écran de la mire de login (formulaire d'authentification) de JCMS, avec la présence du bouton "Connexion avec CAS" (évolution

Si vous souhaitez coupler une authentification automatique (pour les utilisateurs de CAS) avec la possibilité d'une authentification manuelle ou d'un accès anonyme, consultez la section suivante.

2.2 Configuration des règles d'accès

Si vous souhaitez automatiser la connexion des utilisateurs disposant d'un accès au serveur CAS, mais que vous souhaitez malgré tout autoriser les connexions anonymes, il est nécessaire de mettre en place un critère discriminant pour distinguer les 2 populations d'utilisateurs.

Pour cela, consultez la javadoc des règles d'accès inclus dans le module : plugins/CASPlugin/docs/javadoc/access-rules/index.html

3. Exemple

Voici un exemple type de configuration du fichier web.xml et des propriétés de JCMS pour CAS.

Cet exemple permet l'utilisation de la fonctionnalité de connexion manuelle sans CAS.

3.1 [web.xml] Déclaration des servlets filters

<!-- ======================== FILTERs =================================== -->
  
  <filter>
    <filter-name>JCMS CAS Filter</filter-name>
    <filter-class>com.jalios.jcmsplugin.cas.CasFilter</filter-class>
  </filter>
  
  <filter>
    <filter-name>CAS Authentication Filter</filter-name>
    <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
    <init-param>
      <param-name>casServerLoginUrl</param-name>
      <param-value>https://cas-server.example.com/login</param-value>
    </init-param>
    <init-param>
      <param-name>serverName</param-name>
      <param-value>http://jcms.example.com</param-value>
    </init-param>    
  </filter>
  
  <filter>
    <filter-name>CAS Validation Filter</filter-name>
    <filter-class>org.jasig.cas.client.validation.Cas10TicketValidationFilter</filter-class>
    <init-param>
      <param-name>casServerUrlPrefix</param-name>
      <param-value>https://cas-server.example.com/</param-value>
    </init-param>
    <init-param>
      <param-name>serverName</param-name>
      <param-value>http://jcms.example.com</param-value>
    </init-param>   
  </filter>
  
  <filter>
    <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
    <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
  </filter>
  
  <!--
    0. Ajax Filter 
[...]

3.2 [web.xml] Déclaration des mapping de servlets filters

<!-- ======================== FILTERs Mappings ========================== -->  

  <filter-mapping>
    <filter-name>JCMS CAS Filter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>CAS Authentication Filter</filter-name>
    <url-pattern>/*</url-pattern>    
  </filter-mapping>
  <filter-mapping>
    <filter-name>CAS Validation Filter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
   
  <!-- 0. AjaxFilter mappings -->
  [...]
   

3.3 Propriétés de JCMS

A mettre dans custom.prop ou dans le fichier plugin.prop de votre module de site :

# The logout URL on the CAS server
jcmsplugin.cas.logoutUrl: https://cas-server.example.com/logout

# Is a CAS Authentication required to access site ?
jcmsplugin.cas.cas-auth-required: false

Changements

FAQ

1. Le module CAS peut-il être utilisé avec le Jalios Microsoft Office Addin ?

Oui.

Cependant l'option Authentification CAS obligatoire doit être désactivée.
Si l'option Authentification CAS obligatoire est activée, la connexion à JCMS depuis l'addin nécessitera une double saisie des informations de connexion, d'abord dans la fenetre de connexion de l'addin, puis dans le premier onglet de navigation des catégories de l'addin.

Informations

Version
  • 4.0
Stabilité
  • Stable
Compatibilité
  • JCMS 9 SP1
    JCMS 9 SP2
    JCMS 9 SP3
    JCMS 9 SP4
    JCMS 9 SP5
    JPlatform 10
Certifié Jalios
  • Oui
Prix
  • Module gratuit
Support
  • Jalios Support
Auteur
  • Jalios SA
Licence
  • Jalios
Taille
  • 455,86 Ko
Mis-à-jour
  • 26/01/15
Téléchargements
  • 48