logo de l'epfl
Domaine IT
Espace logiciel libre à l’Ecole
French only
EPFL >  DIT >  ELLE
Accueil > Outils à l’EPFL > Tequila-clients > Utiliser tequila dans un cgi

Utiliser tequila dans un cgi

mercredi 15 octobre 2003, par elle
 

Tequila permet aussi l’authentification dans les cgi-bin.

Le rpm de tequila-clients contient un module perl qui va permettre de gérer des sessions pour des applications. Par défaut, ce module est placé dans /var/www/cgi-bin/Tequila/Clients.pm [1].

Le module perl contient un ensemble de méthodes accessibles depuis un script perl. Quelques exemples permettront de d’utilser ces méthodes, de façon simple mais parfois aussi complexe.

Préliminaire important En cas d’échec d’authentification, le serveur ne rendra pas la main à l’application.

Exemple 1 : authentification simple

Ce cgi-bin tout simple requiert simplement une authentification par Tequila et imprime quelques attributs renvoyés par le serveur :


use strict;
use Tequila::Client;

my $tequila = new Tequila::Client ();
$tequila->setservice   ('Tequila example 1');
$tequila->setlang   ('french');

$tequila->authenticate ();
  • new Tequila ::Client : instancie l’objet tequila
  • $tequila->setservice : nomme le service pour lequel l’utilisatrice va s’authentifier [2]
  • $tequila->setlang : choisit la langue de l’interface d’authentification [anglais par défaut] [3].
  • $tequila->authenticate : active le processus d’authentification par Tequila
    • si une session valide existe déjà pour l’utilisatrice, Tequila va remplir les attributs avec ceux de cette utilisatrice
    • sinon, Tequila va proposer l’authentification [4]

Une fois l’authentification validée, Tequila rend la main à la variable urlaccess [Par défaut, l’url appelante, càd l’adresse de cet exemple].

Exemple 2 : authentification avec informations détaillées

Il est possible de récupérer les différents attributs concernant une personne qui s’authentifie. Certain seront requis (request) et certains souhaités (wish). Lors de son authentification, l’utilisatrice ne pourra pas ignorer ce qui se passe et pourra décider si, oui ou non, les attributs souhaités seront communiqués à l’application.


use strict;
use Tequila::Client;

my $tequila = new Tequila::Client ();


$tequila->authenticate ();

Exemple 3 : authentification en fonction des droits et rôles EPFL

L’annuaire de l’EPFL comprend aussi une interface avec l’Accreditation de l’EPFL. Ceci peut se visualiser en cliquant sur le lien Voir les accréditations de cette personne qui se trouve au bas du résultat d’une requête dans l’annuaire ldap .

Par Tequila, il est alors possible d’utiliser ces informations au sein du cgi.


use strict;
use Tequila::Client;

my $tequila = new Tequila::Client ();
$tequila->authenticate ();

[1] Si les cgis sont ailleurs, il suffit de déplacer le répertoire Tequila/.

[2] Bien que non obligatoire, cette option est conviviale.

[3] A ce jours 3 langues sont possibles : english, français et deutsch

[4] Par défaut, la session est créée par un appel de Tequila au fichier cgi-bin/tequilalogin (variable urlauth)


ELLE-EPFL 1015 Lausanne, tél. +41 021 693.22.49, Webmaster:elle AT epfl.ch
CC-BY-SA Cette création est mise à disposition sous contrat Creative Commons by-sa.
mise à jour le 16 octobre 2003

Répondre à cet article