Pxxo_Widget_Identity_Auth

Affiche un formulaire de connexion (login et mot de passe).

Exemples :

Remarque :
Ce widget peut-être utilisé tout seul mais en général il est directement utilisé par le widget IdentityManager.

Paramètres

Nom Valeur par défaut Description
connection_driver 'LDAP' type d'accès aux données (LDAP ou MDB2)
connection_options array() options pour l'accès aux données
username chaine vide initialise les formulaires avec un login
action_urls array(auth⇒””,register⇒””,entercode⇒””, sendcode⇒””, retrievepassword⇒””) définit les urls de sortie du widget.
codeverif_path calculé automatiquement chemin pour stocker les fichiers temporaires pour la validation du compte par email
display_signin_link false affiche un lien hypertexte “Connexion” permettant d'accéder au formulaire d'authentification (login/mot de passe) par défaut, le formulaire est directement affiché
show_lost_password true affiche un lien vers le widget Retrievepassword qui rappelle un mot de passe oublié
onsignin_callback callback L'éventuelle callback utilisateur appelée une fois que l'utilisateur est connecté. Le premier paramètre est le tableau descriptif de l'utilisateur, le second paramètre est une instance de ce widget.
onsignout_callback callback L'éventuelle callback utilisateur appelée une fois que l'utilisateur est déconnecté. Le premier paramètre est le tableau descriptif de l'utilisateur, le second paramètre est une instance de ce widget.
external_auth_callback callback L'éventuelle callback utilisateur qui sera entièrement chargée de gérer l'authentification de l'utilisateur. Cette callback est également appelée lorsque l'utilisateur se déconnecte. Le premier paramètre est le mode courant du widget ('signin' ou 'signout'). Le second paramètre est une instance de ce widget.

Méthodes

Modes

Voici les modes de ce widget :

Nom Description
signout Le mode signout exécute la méthode logout() qui déconnecte l'utilisateur
Puis redirige vers le mode ”index” qui affiche alors la page de connexion.
signin Le mode signin affiche le formulaire de connexion
Puis, si l'authentification est OK, redirige vers le mode ”index” qui affiche alors le lien permettant de se déconnecter

Méthodes statiques

Voici les méthodes statiques de ce widget :

Nom Retourne Paramètres Description
initAuthSession boolean string Initialise la session où sera stocké les informations de l'utilisateur connecté (son appel est facultatif). En paramètre on peut lui passer éventuellement un nom de session ce qui permet théoriquement de basculer entre plusieurs instances de widget Auth (rarement utile).
isConnected boolean - Renvoie vrai si l'utilisateur est connecté
getUsername string - Renvoie le login de l'utilisateur actuellement connecté sinon la chaine vide
getUserInfo array - Renvoie toutes les données sur l'utilisateur actuellement connecté
logout - - Permet de déconnecter l'utilisateur
...
// on peut écrire ce code n'importe ou dans l'application
// une instance de l'objet Pxxo_Widget_Identity_Auth n'est pas obligatoire
require_once 'Pxxo/Widget/Identity/Auth.php';
if (Pxxo_Widget_Identity_Auth::isConnected()) {
  ... // truc à faire lorsque l'utilisateur est connecté
  echo Pxxo_Widget_Identity_Auth::getUsername();
}
...

Autres méthodes

Nom Retourne Description
isJustConnected boolean Renvoie vrai si l'utilisateur vient juste de s'authentifier

Exemple :

...
$auth = new Pxxo_Widget_Identity_Auth($params);
$this->putWidget('AUTH', $auth);
 
// seulement maintenant on peut utiliser la méthode isJustConnected
if ($auth->isJustConnected()) {
  ... // action a faire quand on vient juste de se connecter
      // par exemple enregistrer des statistiques de connexion
}

Exemple

   // ... (Extrait d'un widget Pxxo)
        $p = array();
        $p['connection_driver']  = 'LDAP';
        $p['connection_options'] = array(
            'usernamecol'           => 'uid',
            'mailcol'               => 'uid',
            'passwordcol'           => 'userPassword',                                        
            'host'                  => 'ldap.exemple.fr',
            'port'                  => '12345',
            'basedn'                => 'dc=exemple,dc=fr',
            'binddn'                => 'cn=dark,dc=exemple,dc=fr',
            'bindpw'                => 'vador',
            'userdefaultvalue'      => array(
                'objectclass' => array('top','person','inetOrgPerson','inistPerson'),
                'cn' => 'prenom nom (fake value)',
                'sn' => 'nom (fake value)',
            )
        );
        $p['username'] = 'login';
        $p['show_form'] = 	false;
        $p['show_lost_password'] =	false;
 
        include_once 'Pxxo/Widget/Identity/Auth.php';
        $o = new Pxxo_Widget_Identity_Auth($p);
        $this->putWidget('AUTH', $o);
        if ($o->isConnected()) {
            $this->setSessionVar('Connected', true);
            $this->setSessionVar('Connectid', $o->getUsername());
            $this->Response->setRedirect("/");
        }
 
 
        // ...
fr/doc/pxxo_widget_identity_auth.txt · Dernière modification: 2009/06/19 09:19 (édition externe)
 
 

©2003-2010 Pxxo

Partenaires : INIST-CNRS | Sourcesup | Web2.0 chat server | Micropolia | Jeux gratuits | Areno