[Symfony 4] Utilisation encodage

a marqué ce sujet comme résolu.
Auteur du sujet

Me voilà de retour.

Voici ce que me sort le debuger :

Image utilisateur

Au niveau de l’encodage, ma page a bien le charset UTF-8 et dans ma BDD, les tables sont en utf8_unicode_ci

+0 -0
Auteur du sujet

Cette réponse a aidé l’auteur du sujet

Eurêka !

J’ai trouvé pourquoi cela ne jouait pas. Et c’était un truc tout con.

Le problème venait du fait que dans ma BDD, j’avais limité la longueur du mot de passe à 50 caractères et que bcrypt utilise une plus grande longueur (il est conseillé de la mettre à 255). Du coup, lors de l’inscription, Symfony ne gueulait pas et insérait un mot de passe crypté tronqué dans la table.

Voilà voilà.

+1 -0

Heu… Le mot de passe enregistré étant un agrégat et non une saisie utilisateur, en quoi une contrainte de validation aurait pu détecter que le résultat était plus long que ce que pouvait enregistrer le champ ?

Parce que si un jour il souhaite changer et ne plus utiliser bcrypt, la longueur de l’agrégat changera, et avec Argon2, la longueur n’est apparemment plus fixe…

Édité par Ymox

Evitez qu’on vous dise de les lire : FAQ PHP et SymfonyTutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+0 -0

Bah quand tu fais le $user->setPassword($password), tu passes bien un mot de passe déjà crypté ? Du coup, au moment de la validation de l’entité, si la chaîne fait 180 caractères mais que la contrainte est à 50, ça doit gueuler. Et ce peu importe que tu passes de bcrypt à autre chose. Si le @Assert est iso avec le @ORM, normalement pas de soucis.

+0 -0

Il faudrait que je vérifie si la validation selon les contraintes est faite lors de handleRequest() ou isValid(). Dans le second cas, OK — pour autant qu’on valide le formulaire après avoir calculé l’agrégat —, dans le premier, les contraintes ne serviront à rien.

Evitez qu’on vous dise de les lire : FAQ PHP et SymfonyTutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte