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

Plugins PHP Discussion :

Identifier un user par son login ou son email


Sujet :

Plugins PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 9
    Par défaut Identifier un user par son login ou son email
    Bonjour a tous
    Je viens de recuperer un site qui marche en partie sous symfony et une autre partie sous un autre framework...

    Je debut franchement avec symfony et je commence doucement a comprendre le fonctionnement.

    Ma boite veux qu un utilisateur puisse se loger aussi bien en utilisant son email ou son pseudo.

    Premiere partie faire la mise a jour du template pour faire ca propre dans
    /Symfony/apps/frontend/modules/sfGuardAuth/templates/_signin.php
    Ca pas de souci

    Par contre quel fichier dois je modifier pour faire la jonction entre la table sf_guard_user et sf_guard_user_profile pour permettre une authentification aussi bien par email que par login.

    Merci d avance pour tous tuyaux possibles car la je pedale dans la choucroute

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Si tu récupères un site c'est que tu dois jongler avec d'anciennes version de sfGuard et sfFDAP. Quels sont les versions des plugins ?

    Le mieux serait de passer aux dernière version. Une recherche dans la salle devrait te permettre de trouver un message récent où nous avons débattu de l’authentification par l'adresse email tu devrais y trouver un bon début de piste. Sauf que ceci était sur les dernières version des plugins.

    Attention, les différences entre sfGuard v4 et v5 sont substantielles et touchent à la base de données. Il n'est donc pas possible de passer de l'un à l'autre simplement.

    En fonction de ton code, des évolutions (des autres) à apporter, il pourrait être plus intéressant de taper directement dans le code du plugin.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 9
    Par défaut
    Citation Envoyé par Michel Rotta Voir le message
    Si tu récupères un site c'est que tu dois jongler avec d'anciennes version de sfGuard et sfFDAP. Quels sont les versions des plugins ?
    Voila bien le probleme, le site a ete dev sur un serveur ou symphony était installé et ils sont tout betement copier coller les fichiers sur un serveur de prod. J ai donc meme pas accès a des fonctionnalités telles que symfony -v pour connaitre deja ma version de symfony !!

    Existe t il une méthode pour connaitre les versions de mes modules en sachant qu il n y a meme pas de backoffice

    Citation Envoyé par Michel Rotta
    Le mieux serait de passer aux dernière version. Une recherche dans la salle devrait te permettre de trouver un message récent où nous avons débattu de l’authentification par l'adresse email tu devrais y trouver un bon début de piste. Sauf que ceci était sur les dernières version des plugins.
    Il y a eu des dev dessus et je me pose la compatibilité des nouvelles versions . Car je pense etre sur une ancienne au vu du code et des lectures que je trouve sur justement différents forums

    Citation Envoyé par Michel Rotta
    Attention, les différences entre sfGuard v4 et v5 sont substantielles et touchent à la base de données. Il n'est donc pas possible de passer de l'un à l'autre simplement.
    Et en plus de garantir la compatibilité avec le reste !!!

    Citation Envoyé par Michel Rotta
    En fonction de ton code, des évolutions (des autres) à apporter, il pourrait être plus intéressant de taper directement dans le code du plugin.
    Je pense en effet faire ca a la warrior et ca sera surement pas propre.
    Je pensais rajouter une fonction dans le script qui verifierai si deja ce que l on m envoie dans le champs est un email et si c est le cas d aller faire la verification direct dans la base, puis je rappelle les focntions standart pour creer proprement l objet user ..

    C est faisable d apres vous?

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Voila bien le probleme, le site a ete dev sur un serveur ou symphony était installé et ils sont tout betement copier coller les fichiers sur un serveur de prod. J ai donc meme pas accès a des fonctionnalités telles que symfony -v pour connaitre deja ma version de symfony !!

    Existe t il une méthode pour connaitre les versions de mes modules en sachant qu il n y a meme pas de backoffice
    Si copié collé a fonctionné dans un sens, il peut aussi le faire dans le sens inverse.

    Installe toi un LAMP ou un XAMP sur ton poste et récupère le site. Dans tous les cas il est indispensable de modifier en local avant d'envisager de toucher à la partie public...

    Le backend n'est qu'une application comme une autre, l'avoir ou ne pas l'avoir ne va rien changer.

    Il y a eu des dev dessus et je me pose la compatibilité des nouvelles versions . Car je pense etre sur une ancienne au vu du code et des lectures que je trouve sur justement différents forums
    Tu as trois possibilités :
    • Développé en 1.0. C'est la pire des possibilités. Un code où tu trouveras peu d'aide et un ORM propel avec peu de spécialiste ici. Tu peux envisager de porter en 1.3 avec le module de compatibilité sans trop de problèmes ni de retouche.
    • Développé en 1.1 avec du code 1.0. Même chose que si dessus.
    • Développé en 1.2 tu dois pouvoir passer en 1.4 sans problèmes particuliers


    Et en plus de garantir la compatibilité avec le reste !!!
    C'est une question qu'il faudra se poser. Mais je crois que sfGuard 4 prévoyait déjà une authentification par l'email. Je crains que ce ne soit que par un ou exclisif.

    Je pense en effet faire ca a la warrior et ca sera surement pas propre.
    Je pensais rajouter une fonction dans le script qui verifierai si deja ce que l on m envoie dans le champs est un email et si c est le cas d aller faire la verification direct dans la base, puis je rappelle les focntions standart pour creer proprement l objet user ..

    C est faisable d apres vous?
    Faisable, oui certainement. Simple, pas nécessairement. Résistant pour que la prochaine modification ne casse pas tous, plus difficile à faire.

    Je me méfierai d'un test qui cherche à deviner si l'entrée est un nom ou un email, il reste possible que cela soit les deux (une personne pourrait avoir un username qui a la forme d'une adresse email.

    De plus, l'idée de la vérification est l'unicité d'un identifiant combiné avec un passe. Dans le cas d'une recherche sur deux champs, on cour le risque (improbable, mais Murphy peut faire des miracles) que deux personnes différentes aie pour une un username: titi avec un email titi@toto.truc et la deuxième aie comme username: titi@toto.truc et comme email titi@tutu.truc. Comment distinguer les deux ? La probabilité que les mots de passes soient identique est infime, mais comme dit Murphy : "un miracle est toujours possible". Sans compter que distinguer deux enregistrements possible uniquement sur le password est un début de trou de sécurité que je ne serais pas prêt à prendre.

    Reste alors la seul possibilité, la création d'une table annexe à celle des utilisateurs avec quatre champs : id, user_id, type (email ou username) et texte (l'email ou le username). Chaque utilisateur à deux entrées (une pour l'email, une pour le username. La table à un index unique sur texte. Donc on peut garantir l'unicité et on peut retrouver l'id du user a vérifier.

    Cette modification est une lourde réécriture de sfGuard que ce soit la v4 où la v5. Sans compter la gestion du validateur qui va vérifier l’existence des deux sur la table annexe. Et des bizarrerie du genre du gugus qui veut le même username et le même email, qui, lui, doit être autorisé !

    Faisable ? Oui, on peut tout faire (ou presque). Simple ? Non. Rapide ? Non.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 9
    Par défaut
    Si copié collé a fonctionné dans un sens, il peut aussi le faire dans le sens inverse.
    A part que j ai plus acces a ce serveur de dev !!

    Je vais donc faire comme tu dis monter un lamp pour faire mes tests (j avais deja ca en place)

    La question que je me pose, c est dans ce cas si j installe synfony via pear est ce que je vais avoir une modification des sources? un upgrade a t il eu lieu a ce moment la?

    Désolé de toutes ces questions mais je suis pas un expert synfony

  6. #6
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Récupère le symfony existant avant d'envisager un upgrade.

    Non, il n'y a pas de modification automatique des sources, juste une avalanche éventuel de messages d'horreurs ! (heu d'erreurs)

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/08/2013, 10h06
  2. Réponses: 0
    Dernier message: 16/09/2008, 15h26
  3. Réponses: 2
    Dernier message: 22/01/2008, 21h03
  4. [DOM] récupération d'une balise par la valeur de son attribut
    Par slyfer dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 10/11/2007, 13h50
  5. indentifacation d'un client par son numero et son code
    Par abdou karim diagne dans le forum C
    Réponses: 3
    Dernier message: 19/03/2007, 09h20

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