Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous , je suis confronté à un petit soucis.
J'ai crée un intranet au sein de ma collectivité avec le Zend Framework.
Tout marche bien , j'ai des utilisateurs qui se connecte à une partie Admin pour enrichir le site.
J'ai également une autre application de reservation de salle qui est sur le meme serveur (wamp) et qui impose une authentification ( il utilise une autre base sql).
Pour éviter de se logué 2 fois je voulais creer un lien dans la partie admin. J'ai fais ceci :
admin Controler
$auth = Zend_Auth::getInstance(); if (!$auth->hasIdentity()) { $this->_redirect('auth/login'); }else{ $identity = $auth->getIdentity(); $this->view->login=$identity->login; $this->view->pass=$identity->pass;}
Ensuite je crée un lien comme ceci dans index.html:
<script language="javascript"> function Go() { document.monForm.submit(); } </script> <form name="monForm" method="post" action="http://localhost/reservation_de_salles/login.php"> <a href="#" onclick="Go()"> Mon Lien</a> <input type="hidden" name="password" value="<?php $this->login; ?>"> <input type="hidden" name="password" value="<?php $this->pass; ?>"> </form>
Mon probleme est que ma vue recois bien les infos mais refuse d'afficher le pass.
J'ai fais un echo sur plein de champs de ma base utilisateurs de l'intranet , ca me les affiche bien mais impossible de faire afficher le pass...
Vous avez une idée pour ca ?
Hors ligne
Vous pensez que je dois créer un nouveau champ dans ma base
par exemple pass2 avec mon pass pour que je puisse envoyer pass2 a la vue et qu'il l affiche ?
Hors ligne
petite question toute bête, es-tu sur d'avoir ton mot de passe stocké dans ton identity ? (car sur pas mal de tuto il n'est pas stocké)
Hors ligne
ah ecoute ca je ne m'était meme pas posé la question....
Ou on peut voir si le identity stock ou pas ?
Hors ligne
moi je suis adepte du
Zend_Debug::Dump($identity);
Qui va simplement faire un var_dump avec les balises <pre>
Hors ligne
tu avais raison dans le identity tout est stocké sauf le mot de pass....
Commet faire pour le stocké alors ?
Je vais etre obligé de crée un autre champ dans ma table pour afficher le pass ?
Il me semble qu'il faut modifier ceci non dans le authcontroller ?
if ($result->isValid()) {
// success: store database row to auth's storage
// system. (Not the password though!)
$data = $authAdapter->getResultRowObject(null, 'pass');
$auth->getStorage()->write($data);
Dernière modification par larenzu (15-07-2008 11:56:39)
Hors ligne
non no npas du tout, c'est juste que dans le contorlleur ou tu fait l'identification tu as spécifier à Zend_Auth de ne pas spécifier le mot de passe. Chez moi c'est ce code qui spécifie cela:
//success: store database row into auth, without password $data = $authAdapter->getResultRowObject(null, 'User_Password');
Dans mon cas il suffirait de retirer le deuxième argument de getResultRowObject.
A toi de voir dans ton code où est-ce que tu spécifie cela...
Edit:
Voilà
PS: 3 fois le mot spécifier sur 2 lignes, ça va pas bien moi O_o
Dernière modification par Asfaloth (15-07-2008 11:59:54)
Hors ligne
oui voila c'est ce que je marquai au dessus.
C'est bon ca marche .. Merci mec
Hors ligne