> Votre_premier_gestionnaire_d_authentification
fr

Objectifs

L'objectif de ce tutoriel est de vous permettre de créer rapidement un gestionnaire simple d'authentification.

Introduction

Avec la version de 3.0 il est désormais possible de créer vos propres gestionnaires d'authentification et de pouvoir les utiliser pour authentifier vos utilisateurs de diverses manières, de façon uniques ou combinées.

Pour ce tutoriel, nous allons ajouter des éléments au module auth (situé dans project/module/public/standard/auth)

Si vous avez suivi le tutoriel Creation d un module vous pouvez créer votre propre module d'authentification, et les handlers associés.

Création de nos classes

Dans le répertoire classe du module auth, créez un fichier simpleuserhandler.class.php. A l'intérieur de ce fichier déclarez la classe suivante :


class SimpleUserHandler implements ICopixUserHandler {

}
 

Cette classe implémente l'interface ICopixHandler qui définit quatre fonctions à coder.

Ajoutons ces quatre fonctions :



class SimpleUserHandler implements ICopixUserHandler {

    // Fonction de connexion
    public function login ($pParams){
    }

    // Fonction de déconnexion
    public function logout ($pParams){
    }

    // Chercher un utilisateur
    public function find ($pParams){
    }

    // Récupérer les informations d'un utilisateur
    public function getInformations ($pUserId){
    }
}

 

Maintenant on peut coder les fonctions de login et de logout. Par exemple nous authentifions les utilisateurs dont le login est toto et le mot de passe titi.


 public function login ($pParams){
  if (isset($pParams['login']) && $pParams['login'] == "toto" && $pParams['pass'] == "titi") {
   // On retourne vrai et on ajoute les informations sur le handler, l'id et le login
   return new CopixUserLogResponse (true, 'auth|simpleuserhandler', 0, "toto");
  } else {
   return new CopixUserLogResponse (false, null, null, null);
  }
 }

 public function logout ($pParams){
  return new CopixUserLogResponse (true, null, null, null);
 }
 

Modification de la configuration

Enfin il suffit de modifier la configuration (dans /project/config/copix.conf.php) pour prendre en compte notre nouvel handler. Le paramètre indique si la réponse de ce handler est requise ou non pour procéder à l'authentification.


$config->copixauth_registerUserHandler (array ('name'=>'auth|simplehandler'
                                                         'required'=>false));