Title: Utiliser mod_auth_cas avec apache
Date: 2017-05-15 16:20
Status: Published
Tags: ispconfig, admin, www
Summary: Comment utiliser le CAS ed l'isima via un htaccess apache
Image: images/ispconfig/apache.jpg


Installation du module apache cas

```bash
sudo apt-get install libapache2-mod-auth-cas
sudo service apache2 restart
```

le serveur apache ne répond plus. En regardant les log

```bash
vi /var/log/apache2/error.log
```

on découvre que

```bash
[Thu May 11 17:14:26.807324 2017] [:error] [pid 3398] MOD_AUTH_CAS: CASLoginURL or CASValidateURL not defined.
```

en inspectant le paquet précédemment installé avec

```bash
sudo dpkg -L libapache2-mod-auth-cas
...
/etc/apache2/mods-available/auth_cas.conf
...
```

on découvre un fichier qui ressemble à un fichier de conf par défaut, qu'il suffit de compléter avec les paramètres manquants CASLoginURL & CASValidateURL

```bash
CASCookiePath /var/cache/apache2/mod_auth_cas/
CASValidateServer On
CASLoginURL https://login.isima.fr/cas/login
CASValidateURL https://login.isima.fr/cas/serviceValidate
```

à partir de là l'authentification peut se gérer avec un .htaccess directement dans le vhost

```bash
<Directory {DOCROOT}>
       AuthName 'Private'
       AuthType CAS
       Require valid-user
</Directory>
```
l'utilisateur authentifié sera accessible en php vi la variable globale ```$_SERVER```

```bash
echo $_SERVER[HTTP_CAS_USER]; // will display authenticated username
```

Il est possible d'aller plus loin dans les permission en filtrant avec une requête LDAP

* https://httpd.apache.org/docs/2.4/fr/mod/mod_authnz_ldap.html
* http://stackoverflow.com/questions/8939487/how-to-support-require-group-foobar-in-mod-auth-cas
* http://stackoverflow.com/questions/2239069/how-do-i-retrieve-the-user-information-of-a-user-authenticated-with-apaches-mod#2239822