Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 28-06-2009 10:10:51

Diaoul
Membre
Date d'inscription: 28-06-2009
Messages: 13
Site web

[1.8] Ajouter un join sur la requête d'authentification

Salut à tous,

En dépit de mes recherches je ne trouve pas de solution à mon problème :
Je n'arrive pas à ajouter une jointure à la requête d'authentification.

Pourtant il existe bien :

Code:

$authSelect = $authAdapter->getDbSelect();

Mais ceci me renvoi un select vide. Comme il n'y a pas de "from" de mis, je ne peux pas initier de jointure dessus, sans quoi il me fait n'importe quoi (même si le from à été ajouté après).
Si j'ajoute le from moi même, il me met une erreur vu qu'il essaye de le modifier dans la méthode _authenticateCreateSelect() de la classe Zend_Auth_Adapter_DbTable.

Dans la doc de la fonction : "getDbSelect() - Return the preauthentication Db Select object for userland select query modification"
En fait on ne peut faire qu'ajouter des where non ?

Je pourrais surcharger _authenticateCreateSelect() en créant mon propre "My_Auth_Adapter_DbTable" mais je voulais à la base une solution moins bourrin (a)
Existe-t-elle ?

Enfin, voici le pourquoi de cette question :
Tout ceci a pour but de minimiser le nombre de requêtes en récupérant toutes les données de l'utilisateur en une seule requête et de stocker cela dans le storage de Zend_Auth.
L'idéal serait que je puisse y stocker les objets (models) serialisés que j'ai construit avec le résultat de ma "super" requête.
Est-ce bien approprié ?
Est-ce qu'il serait mieux de ne récupérer que l'id de la personne pour faire, en cas de succès de l'authentification, une grosse requête depuis mes models pour les construire et les serialiser ensuite dans une Session (autre que Zend_Auth) ?
A quelles fins utilisez vous le stockage fournis par Zend_Auth ?

Si un point ne vous parait pas clair dans ma demande, n'hesitez pas à demander.

Merci d'avance wink

Hors ligne

 

#2 28-06-2009 21:53:25

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [1.8] Ajouter un join sur la requête d'authentification

je pense avoir déjà répondu à cette question sur le forum

il faut dériver Zend_Auth_Adapter_DbTable. et redéfinir la méthode getDbSelect
il suffit alors de définir la requête de sont choix

je l'ai fais dans le cas ou l'utilisateur est connu et n'a aucun rôle dans la période
mes utilisateur on des date de validité et leur rôles aussi
j'ai donc redéfini la requête en faisant la jointure et en contraignant par la date du jour.

ainsi si l'utilisateur est hors date ou si tous ses rôles sont hors date c'est comme s'il n'existait pas.

A+JYT

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages