Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Zend_Acl & Zend_Auth
Zend_Acl & Zend_Auth Forum d'entraide pour les composants Zend_Acl & Zend_Auth du Zend Framework (contrôle d'accès, gestion des droits, authentification, etc.). Avant de poster -> Cours Zend_Acl et Zend_Auth.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/12/2010, 12h18   #1
Membre du Club
 
Inscription : mars 2007
Messages : 110
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 110
Points : 50
Points : 50
Par défaut Identifiant sans utiliser le nom d'utilisateur

Bonjour,

Voilà mon petit souci:

Contexte:
Avant de s'inscrire les utilisateurs du site peuvent effectuer peuvent essayer l'application. Au cours de ce test, j'ai besoin d'avoir un user authentifié (j'utilise le Zend_Auth). L'utilisateur, à la fin de son test, peut choisir son username et mot de passe si il veut continuer.

J'ai suivi le tutoriel zend_auth et tout fonctionne bien (formulaire de login, récupérer l'utilisateur etc...) Seulement je bloque lors qu'il s'agit d'authentifier un utilisateur sans le formulaire de login classique.

J'aimerais pouvoir authentifier un utilisateur que je viens de créer sans username/password en utilisant simplement son id.
Est-ce possible via Zend_auth ou faut-il faire les choses plus manuellement?
hackiles est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 16h09   #2
Rédacteur/Modérateur
 
Avatar de MaitrePylos
 
Homme Gérard Ernaelsten
DBA & Dev PHP
Inscription : juin 2005
Messages : 3 174
Détails du profil
Informations personnelles :
Nom : Homme Gérard Ernaelsten
Âge : 39
Localisation : Belgique

Informations professionnelles :
Activité : DBA & Dev PHP
Secteur : Service public

Informations forums :
Inscription : juin 2005
Messages : 3 174
Points : 6 460
Points : 6 460
Quand tu crées tu users, tu fais directement une requète pour récupérer son nid dans le db et tu le passes A Zend_Auth
MaitrePylos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 18h30   #3
Membre du Club
 
Inscription : mars 2007
Messages : 110
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 110
Points : 50
Points : 50
Extrait de la doc officiel:

Code :
1
2
3
4
5
// Set up the authentication adapter
$authAdapter = new MyAuthAdapter($username, $password);
 
// Attempt authentication, saving the result
$result = $auth->authenticate($authAdapter);

Je ne sais pas comment utiliser un équivalent d'authenticate() avec le userId.

Par 'nid' tu faisais bien référence à l'id de l'enregistrement créé dans la table user?
hackiles est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2010, 13h31   #4
Membre actif
 
Avatar de hazamor
 
Homme
Développeur Web
Inscription : décembre 2008
Messages : 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2008
Messages : 179
Points : 199
Points : 199
Envoyer un message via MSN à hazamor
Par défaut setIdentity /setCredential

Tu peux utiliser "Database Table Authentication":
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
$nom_table="user";
$nom_Col_Login="id";
$nom_Col_pssword="pass";
 
$auth_Adapter = new Zend_Auth_Adapter_DbTable ( $dbAdapter, $tableName, $nom_Col_Login,$nom_Col_pssword);
 
$auth_Adapter->setIdentity($id);
$auth_Adapter->setCredential($password);
 
$auth = Zend_Auth::getInstance ();
 
$result = $auth->authenticate ( $auth_Adapter);
if ($result->isValid ()) {
....
}
avec $dbAdapter est de type Zend_Db
hazamor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2011, 20h16   #5
Membre du Club
 
Inscription : mars 2007
Messages : 110
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 110
Points : 50
Points : 50
Merci !

Pour ceux qui auront le même problème, voilà ce que j'ai fait avant pour avoir un username et password fictif

Code :
1
2
3
$user->setUsername($userId)
        ->setPassword('test');
 $user->save();
hackiles est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h41.


 
 
 
 
Partenaires

Hébergement Web