Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 20-09-2007 14:20:48

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

[Résolu][1.x] Zend_Auth_Adapter_DbTable mcrypt

Bonjour voilà j'ai crypté un mot de passe avec mcrypt, je le stocke dans une table.
Alors mon prblème est que je n'arrive pas m'identifier dans ma partie login

Voilà l'action Login :

Code:

         
public function loginAction()
    {        
        if ($this->_request->isPost()) {
            Zend_Loader::loadClass('My_Crypt');
            $crypt = new My_Crypt();

            $email = $this->_request->getPost('email');
            $password = $this->_request->getPost('password');
            
            $password = $crypt->encrypt($password);
            

            Zend_Loader :: loadClass('Zend_Auth_Adapter_DbTable');
            $dbAdapter = Zend_Registry :: get('db');
            $authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);
            $authAdapter->setTableName('users');
            $authAdapter->setIdentityColumn('email');
            $authAdapter->setCredentialColumn('password');
            

            $authAdapter->setIdentity($email);
            $authAdapter->setCredential($password);
            

            $auth = Zend_Auth :: getInstance();
            $result = $auth->authenticate($authAdapter);
            if ($result->isValid()) {
                $data = $authAdapter->getResultRowObject(null, 'password');
                $auth->getStorage()->write($data);
                $redirect = $this->_request->getPost('redirect');
                $this->_redirect($redirect);
            } else {
                $this->view->errorMessage = 'Login failed.';
            }
        }
        $this->view->title = "S'identifier";
    }

D'apres la documentation je dois utilisé $authAdapter->credentialTreatment, mais je ne comprends pa scomment l'utilisé.

Y'a t il d'autres solutions sinon ?

Merci ++

Dernière modification par alien7 (28-03-2008 11:41:53)


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#2 20-09-2007 14:50:41

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu][1.x] Zend_Auth_Adapter_DbTable mcrypt

Ben moi, j'avais rien changé (vu que le mot de passe en base était crypté) et lorsque je fourni les infos, je crypte le password avant de le donner au constructeur et ça marchais nickel...

Je me suis servi du tuto de kitpages... smile

Dernière modification par Mr.MoOx (20-09-2007 14:51:48)

Hors ligne

 

#3 20-09-2007 15:10:27

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: [Résolu][1.x] Zend_Auth_Adapter_DbTable mcrypt

Bon j'ai remis mon 1er post à jour, je crois que c'etais ptete pas clair.


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#4 20-09-2007 15:28:11

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu][1.x] Zend_Auth_Adapter_DbTable mcrypt

Faut croire smile
Ben j'ai le même code à très (très) peu de chose près, moi je vois pas trop...

Zend_Debug::dump() pourrait t'aider peux être...

Dernière modification par Mr.MoOx (20-09-2007 15:28:59)

Hors ligne

 

#5 20-09-2007 16:19:25

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: [Résolu][1.x] Zend_Auth_Adapter_DbTable mcrypt

C'est cette partie qui m'interresse et que je ne comprends pas.

Issu de la doc :

Code:

credentialTreatment: In many cases, passwords and other sensitive data are encrypted, 
hashed, encoded, obscured, or otherwise treated through some function or algorithm. By specifying a 
parameterized treatment string with this method, such as 'MD5(?)'  or 'PASSWORD(?)', 
a developer may apply such arbitrary SQL upon input credential data. 
Since these functions are specific to the underlying RDBMS, check the database manual for the 
availability of such functions for your database system.

" developer may apply such arbitrary SQL upon " ??

Avec md5 ca marche

Code:

            $authAdapter->setIdentityColumn('email');
            $authAdapter->setCredentialColumn('password');
            $authAdapter->setCredentialTreatment('MD5(?)');

Je n'arrive pas à adapter pour mcrypt

Dernière modification par alien7 (20-09-2007 16:37:12)


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#6 27-03-2008 19:28:00

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: [Résolu][1.x] Zend_Auth_Adapter_DbTable mcrypt

Bonjour,
C'est possible d'utiliser AES_DECRYPT avec setCredentialTreatment ?

Code:

$authAdapter->setCredentialTreatment('AES_DECRYPT(?)');

En fait je ne sais pas comment mettre la clef.

Sinon est ce un bon moyen de cryptage efficace et securisé, pour un domaine professionnel ? Ou faut il mieux passer par mcrypt ?
Merci


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#7 28-03-2008 11:48:14

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: [Résolu][1.x] Zend_Auth_Adapter_DbTable mcrypt

Résolu :

Code:

$authAdapter->setCredentialTreatment('AES_ENCRYPT(?, '.$key.')');

Attention à AES_ENCRYPT et non pas AES_DECRYPT, j'ai perdu beaucoup de temps là dessus.

Je redemande aussi si c'est une bonne pratique le crypatge plutot que le hashage ?
Car le cryptage est reversible donc une personne malveillant de l'equipe du site peut decrypter le password du client non ?


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

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