Généralités
Installer un fournisseur de services Shibboleth pour gérer des authentifications en fédération avec Esup-Portail
Frontal Apache
Installer la brique fournisseur de services Shibboleth :Site du CRU[http://federation.cru.fr/test/installation-SP.html:http://federation.cru.fr/test/installation-SP.html\]
Dans shibboleth.xml, définir un chemin : '''shibboleth'''
Dans la configuration Apache, protéger ce chemin :
<Location /shibboleth> AuthType shibboleth ShibRequireSession On require valid-user </Location>
Serveur Tomcat Esup-portail
Configuration Tomcat
- Dans server.xml, modifier le connecteur AJP pour désactiver l'auth Tomcat :
<Connector port="[CATALINA_JK]" tomcatAuthentication="false" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
Configuration uPortal
- Dans security.properties, ajouter une authentification externe HTTP (basée sur REMOTE_USER) :
## Ajout auth remote pour Shibboleth root.shibboleth=org.jasig.portal.security.provider.RemoteUserSecurityContextFactory
- Dans portal.properties, implémenter la classe RemoteUserPersonManager pour l'interface IPersonManager (permet de récupérer la variable REMOTE_USER) :
# Class name of the concrete IPersonManager implementation to be used # org.jasig.portal.security.PersonManagerFactory.implementation=org.jasig.portal.security.provider.RemoteUserPersonManager
- Ajouter le répertoire "shibboleth" :
mkdir /applis/install/uPortal-2.6-esup-1.0.1/Custom/ROOT/shibboleth
- Y créer le fichier index.jsp :
<% // Page Shibboleth // Redirection vers servlet login %> <jsp:forward page="/Login" />
Le répertoire "shibboleth" est protégé par Shibboleth, donc redirige vers le WAYF et l'authentification (v. config SP). Au retour de l'authentification, on a récupéré les variables d'environnement (au moins REMOTE_USER), on peut donc retourner vers la servlet de Login
Configuration Esup-portail
- Récupérer les attributs de l'utilisateur
A faire :
- modification de la servlet de login pour récupérer les attributs SHIB_*
- Ajout d'un bean esupPortailRemoteAttributeSource et utilisation dans personDirectory.xml pour mapping avec attributs uPortal