Je crée une application CakePHP 2.2.3 qui doit dépendre d'une autre application existante pour ses informations de connexion. Les combinaisons nom d'utilisateur/mot de passe existent sur une autre base de données/serveur, et j'ai configuré mon application CakePHP pour créer de nouveaux utilisateurs en les connectant à mon interface pour la première fois. Voici le processus:CakePHP 2 Hashing Changement au fil du temps?
- Utilisateur Se connecte pour la première fois, fournit le nom d'utilisateur & mot de passe. enregistrement utilisateur CakePHP n'existe pas encore
- système vérifie pour voir si un utilisateur avec le même (aseptisé) nom d'utilisateur existe de l'autre côté
- Si un utilisateur existe, alors nous récupérons le mot de passe et comparer les mots de passe pour voir si ils correspondent.
- Si les mots de passe correspondent, hachage ce qui a été fourni et sauvegarder l'enregistrement utilisateur
- Connexion l'utilisateur
nouvellement créé Cela résout quelques problèmes pour nous, surtout avoir plusieurs endroits pour l'utilisateur de se connecter faire certaines choses.
Mon problème semble être que la valeur obtenue par CakePHP quand il hache les mots de passe semble changer avec le temps. Ainsi, au lieu de connecter l'utilisateur avec son mot de passe, il crée un nouvel enregistrement d'utilisateur tous les jours suivant sa connexion. J'ai rencontré un problème où je ne pouvais pas me connecter avec un utilisateur particulier hier ... alors j'ai vérifié login() action vu que la valeur hachée du mot de passe était.
Le mot de passe de l'utilisateur particulier est «routes
Hier, le hachage était: 988042d7f4e62760238d895472ecaf1844094f9f
Aujourd'hui, quand je Hash routes que je reçois: a8318e7bbe8ee5efc59f53b4ede4d80dc0495c6d
Je ne sais vraiment pas où commencer à regarder pour voir pourquoi cela se produirait. Pour faire avancer mon développement, tout ce que je peux faire est de changer la valeur hachée du mot de passe pour l'enregistrement d'utilisateur que je veux me connecter. C'est le deuxième jour que j'aurai fait ça. Y at-il quelque chose que je pourrais avoir mal fait avec le hachage de sécurité ou la valeur de sel dans le config/core.php?
J'aimerais soit:
- Figure pourquoi les hash changent
- changer le composant Auth à utiliser l'autre base de données pour connecter les utilisateurs à
Mais je ne suis pas Sachez par où commencer sur l'un de ces
1. Je n'ai jamais entendu parler du hachage qui se suffit à lui-même. Êtes-vous et un autre développeur travaillant et téléchargeant 2 diff. les versions du fichier core.php? 2. Voyons le code que vous utilisez pour obtenir la version hachée de 'routes'. 3. quelle version de gâteau utilisez-vous? –
Dans app/Config/core.php son défini le sel. Où il est dit Configure :: write ('Security.salt', 'xxxxx ...'); Mais c'est toujours pareil. – Alvaro
Consigner temporairement les paramètres transmis à [Security :: hash] (http://api20.cakephp.org/view_source/security#line-86), ils pourraient être révélateurs. Par exemple, une fonction/action utilise peut-être un algorithme de hachage différent ou même un sel différent. Enfin, si vous écrivez des tests unitaires, ils vont probablement révéler ce qui se passe. – jeremyharris