Authentification CAS

Cette méthode ne peut être utilisée que pour authentifier les utilisateurs sur l'interface Web d'administration. En effet Central Authentication Service (CAS) est basé sur un système de redirections HTTP qui n'est pas supporté par les clients SVN classiques. Le principal avantage de cette méthode est de profiter, à moindre frais, d'une brique de login unique déjà existante au sein de votre institution.

Le pré-requis est de disposer d'un client CAS. Il peut être de deux types :

La configuration de phpCAS dans le cadre de SWA est relativement simple, voici comment précéder :

  1. télécharger et décompresser phpCAS :
    wget http://www.ja-sig.org/downloads/cas-clients/php/1.0.1/CAS-1.0.1.tgz
    tar xzf CAS-1.0.1.tgz
  2. régler votre include_path dans votre fichier index.php pour que la librairie puisse être utilisée :
    $delim = PATH_SEPARATOR;
    $classpath = dirname(__FILE__).'/lib/CAS-1.0.1'.$delim;
    $classpath .= ini_get('include_path');
    ini_set('include_path',$classpath);
  3. éditer votre fichier index.php et modifier ceci :
    // indiquez directement le nom d'utilisateur authentifié
    // si vous désirez utiliser un système d'authentification externe
    //$auth_username = 'utilisateur-authentifie';

    par ceci (en adaptant le nom du serveur CAS de votre institution) :

    // authentification depuis le serveur CAS de l'inist
    require_once 'CAS.php';
    phpCAS::client(CAS_VERSION_2_0, 'cas.inist.fr', 443, '');
    phpCAS::setNoCasServerValidation();
    phpCAS::forceAuthentication();
    $auth_username = phpCAS::getUser();