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