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.
| 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. |
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 |
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(); } ...
| 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 }
// ... (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("/"); } // ...
©2003-2010 Pxxo
Partenaires : INIST-CNRS | Sourcesup | Web2.0 chat server | Micropolia | Jeux gratuits | Areno