Le module `dynacase-cas' permet à Dynacase-platform d'authentifier les utilisateurs sur un système CAS.
Au niveau de Dynacase-platform, `dynacase-cas' est un nouveau type d'authentification. Pour l'utiliser, il faut ajuster le fichier `dbacess.php' pour y déclarer `$freedom_authtype' avec la valeur `cas', et renseigner les paramètres d'authentification CAS :
$ vi context/default/dbaccess.php
[...]
$freedom_authtype = 'cas';
$freedom_authtypeparams = array(
[...]
'cas' => array(
'cookie' => 'freedom_auth',
'cas_version' => 'CAS_VERSION_2_0',
'cas_server' => 'localhost',
'cas_port' => 8443,
'cas_uri' => '/cas-server-webapp-3.4'
),
[...]
);
Les paramètres de l'authentification CAS sont les suivants :
| Paramètre | Description |
|---|---|
cookie | Le nom du cookie servant a référencer le numéro de la session (utiliser `freedom_auth'). |
cas_version | Version du serveur CAS ('1.0', '2.0', 'CAS_VERSION_1_0', 'CAS_VERSION_2_0') |
cas_server | Adresse, ou nom DNS, du serveur CAS. |
cas_port | Port de connexion du serveur CAS. |
cas_uri | URI d'accès à la racine du serveur CAS. |
CAS ne fournit pas les informations/attributs de l'utilisateur (nom, prénom, adresse e-mail, etc…), par conséquent la création d'utilisateurs à la volée nécessite d'utiliser un « provider » Dynacase-platform. Ce provider permet à Dynacase-platform d'interroger le backend et de récupérer les informations concernant l'utilisateur.
Dans le cas d'un serveur CAS qui repose sur une base LDAP ou Active Directory, on peut utiliser le module freedom-networkuser qui fournit un provider capable d'interroger un serveur LDAP ou ActiveDirectory.
Pour configurer le module `freedom-networkuser', voir la documentation de freedom-networkuser.
Exemple de configuration du `dbaccess.php' pour utiliser le provider `freedomNu' :
$ vi context/default/dbaccess.php
[...]
$freedom_authtype = 'cas';
$freedom_authtypeparams = array(
[...]
'cas' => array(
'cookie' => 'freedom_auth',
'cas_version' => 'CAS_VERSION_2_0',
'cas_server' => 'localhost',
'cas_port' => 8443,
'cas_uri' => '/cas-server-webapp-3.4'
),
[...]
);
$freedom_authprovider = 'freedomNu';
$freedom_providers = array(
[...]
'freedomNu' => array(
'allowAutoFreedomUserCreation' => 'yes',
'fix_euro' => 'no',
'convert_to_utf8',
),
[...]
);