IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend_Acl & Zend_Auth PHP Discussion :

impossible de s'authentifier


Sujet :

Zend_Acl & Zend_Auth PHP

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2012
    Messages : 57
    Points : 26
    Points
    26
    Par défaut impossible de s'authentifier
    Bonjour,
    je suis debutante en zend framework.
    je veux creer un formulaire d'authentification pour euthentifier les users déja créer dans la base de données.
    pourcela j'ai crée un controlleur avec la principale actions loginAction .
    voilà son code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    public function loginAction()
        {
        	//donner une instance du formulaire à la vue pour qu'elle puisse l'afficher
            $this->view->title="Mon Site Web - Login";
    	    $form = new Application_Form_Login();
    	    $this->view->form = $form;
     
    	    //tester s'il y'a des données,les récupère,les valides .
     
    	   if ($this->_request->isPost()) 
    	   {
                $formData = $this->_request->getPost();
                if ($form->isValid ( $formData )) 
           		{ 
           			//ils sont valides,on les récupère.
           			$login    = $form->getValue ( 'login' );
    				$password = $form->getValue ( 'password' );
     
           		//appel à un Zend_Auth_Adapter_DbTable pour faire la connexion à la base de données.
           		$authAdapter = new Zend_Auth_Adapter_DbTable ( Zend_Db_Table::getDefaultAdapter () );
     
           		//donner les informations nécessaires à l'adapter.
           		$authAdapter->setTableName ( 'employe' )
    						  ->setIdentityColumn ( 'identifiant' )
    						  ->setCredentialColumn ( 'password' )
    						  ->setCredentialTreatment ( 'MD5(?)' )
    						  ->setIdentity ( $login )
    						  ->setCredential ( $password );
     
    			//identification de l'employe
    			$authAuthenticate = $authAdapter->authenticate();
     
    			//test si l'identification a réussi
     
    			if ($authAuthenticate->isValid ()) {
     
    		    //récuperer l'espace du  stockage du l'application
    		    $storage = Zend_Auth::getInstance ()->getStorage ();
     
    		    //on y ajoute les informations de l'employe
    		    $storage->write ( $authAdapter->getResultRowObject ( null, 'password' ) );
     
    		    //redirection vers la page d'acceuil
    		    $this->_helper->redirector ( 'index', 'index' );
    			}
    	        else {
    			$form->addError ( 'Il n\' existe pas d\'utilisateur avec ce mot de passe' );
    	        }
           		} 
    	   }
     
        }
    mais quand j'entre un user avec password déja enregistré cet erreur se déclenche.Message: No database adapter present
    pourriez vous m'aidez.
    Merci.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Affiche le fichier application.ini
    A la recherche d'un film : http://chercher-un-film.com

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Ou la partie ou tu as défini serverName, userName, password, dbName, dbAdapter
    A la recherche d'un film : http://chercher-un-film.com

  4. #4
    Membre éprouvé
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Points : 1 297
    Points
    1 297
    Par défaut
    D'après le message tu n'a pas mis adaptateur pour ta base de données par défaut.

    Soit celui ci doit être signalé la ton application.ini soit dans ton bootstrap, regarde donc les deux et comme dis plus haut fait nous voir tes fichiers

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2012
    Messages : 57
    Points : 26
    Points
    26
    Par défaut problème authentification résolu
    Citation Envoyé par aziza_1989 Voir le message
    Bonjour,
    je suis debutante en zend framework.
    je veux creer un formulaire d'authentification pour euthentifier les users déja créer dans la base de données.
    pourcela j'ai crée un controlleur avec la principale actions loginAction .
    voilà son code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    public function loginAction()
        {
        	//donner une instance du formulaire à la vue pour qu'elle puisse l'afficher
            $this->view->title="Mon Site Web - Login";
    	    $form = new Application_Form_Login();
    	    $this->view->form = $form;
     
    	    //tester s'il y'a des données,les récupère,les valides .
     
    	   if ($this->_request->isPost()) 
    	   {
                $formData = $this->_request->getPost();
                if ($form->isValid ( $formData )) 
           		{ 
           			//ils sont valides,on les récupère.
           			$login    = $form->getValue ( 'login' );
    				$password = $form->getValue ( 'password' );
     
           		//appel à un Zend_Auth_Adapter_DbTable pour faire la connexion à la base de données.
           		$authAdapter = new Zend_Auth_Adapter_DbTable ( Zend_Db_Table::getDefaultAdapter () );
     
           		//donner les informations nécessaires à l'adapter.
           		$authAdapter->setTableName ( 'employe' )
    						  ->setIdentityColumn ( 'identifiant' )
    						  ->setCredentialColumn ( 'password' )
    						  ->setCredentialTreatment ( 'MD5(?)' )
    						  ->setIdentity ( $login )
    						  ->setCredential ( $password );
     
    			//identification de l'employe
    			$authAuthenticate = $authAdapter->authenticate();
     
    			//test si l'identification a réussi
     
    			if ($authAuthenticate->isValid ()) {
     
    		    //récuperer l'espace du  stockage du l'application
    		    $storage = Zend_Auth::getInstance ()->getStorage ();
     
    		    //on y ajoute les informations de l'employe
    		    $storage->write ( $authAdapter->getResultRowObject ( null, 'password' ) );
     
    		    //redirection vers la page d'acceuil
    		    $this->_helper->redirector ( 'index', 'index' );
    			}
    	        else {
    			$form->addError ( 'Il n\' existe pas d\'utilisateur avec ce mot de passe' );
    	        }
           		} 
    	   }
     
        }
    mais quand j'entre un user avec password déja enregistré cet erreur se déclenche.Message: No database adapter present
    pourriez vous m'aidez.
    Merci.
    Merci à vous tous.Le problème s'est résolu en spécifiant les informations sur ma base de données dans le fichier application.ini à la fin de la section[production]
    resources.db.adapter = PDO_MYSQL
    resources.db.params.host = localhost
    resources.db.params.username = root
    resources.db.params.password =
    resources.db.params.dbname = mtk

Discussions similaires

  1. [ZF 1.11] Impossible de s'authentifier
    Par razyne dans le forum Zend_Acl & Zend_Auth
    Réponses: 1
    Dernier message: 14/03/2013, 17h08
  2. [Débutant] Impossible de s'authentifier
    Par unix27 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 21/07/2006, 17h20
  3. [ArchiveBuilder][JavaMail] exécution impossible...
    Par Gorthal dans le forum JBuilder
    Réponses: 7
    Dernier message: 10/01/2003, 10h12
  4. Réponses: 8
    Dernier message: 20/11/2002, 12h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo