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

Symfony PHP Discussion :

[FOSUserBundle] Deux types d'utilisateur


Sujet :

Symfony PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut [FOSUserBundle] Deux types d'utilisateur
    Salut à tous,

    J'ai une question à vous poser : est-il possible d'ajouter 2 bundles héritant de FOSUserBundle (qui serait uploadé 2 fois ?).
    Je m'explique : sur mon site je veux prévoir 2 types de connexion : les postulants, et les clients qui pourront choisir des postulants.
    Je prévois un bundle PostulantUserBundle et un bundle ClientUserBundle.

    Le fait est qu'un simple statut (ou rôle) dans une base commune n'est pas l'idéal à mes yeux. En effet, les attributs d'un client sont très différents de ceux des postulants.
    Un client a besoin, entre autre, d'un numéro de Kbis, etc. alors qu'un postulant a besoin, entre autre, de champs date pour ses disponibilités, etc.

    Avez-vous une idée ? FOSUB prévoit-il cette situation ?

    Merci d'avance,
    Benjamin

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Une piste
    Je me réponds, en donnant une piste à laquelle je suis arrivé en gribouillant sur une feuille :

    -J'utilise une table commune pour les deux types de connexion, nommons là FOS avec comme champs : login, mail, mdp, isClient (un booléen)
    -Je crée une table Client en relation 0,1 to 1 avec la table FOS
    -Je crée une table Postulant en relation 0,1 to 1 avec la table FOS

    Dans les table Client et Postulant je manipulerais les différents champs spécifiques.

    Ceci dit c'est une solution qui ne me plait pas trop : aucune vérification n'est faite en aval pour que le champ id de FOS ne soit pas relié à la fois avec un id de Client et un id de Postulant.
    Je suis obligé de vérifier ceci en amont pour que la table soit pérenne.

    Avez-vous d'autres idées ?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    est-il possible d'ajouter 2 bundles héritant de FOSUserBundle
    Non on ne peut faire hériter qu'un seul bundle d'un autre


    -J'utilise une table commune pour les deux types de connexion, nommons là FOS avec comme champs : login, mail, mdp, isClient (un booléen)
    -Je crée une table Client en relation 0,1 to 1 avec la table FOS
    -Je crée une table Postulant en relation 0,1 to 1 avec la table FOS
    tu peux en revanche regarder du coté des différentes stratégie d'héritage de Doctrine2:
    http://docs.doctrine-project.org/en/...e-mapping.html
    (la troisième stratégie (Class Table Inheritance) correspond à peu prés à ce que tu imaginais)
    Je n'ai en revanche jamais testé son intégration dans FOSUSerBundle

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse.
    En pesant le pour et le contre depuis quelques jours (et oui c'est une décision importante à mes yeux) je pense partir sur la création de mon propre bundle plus tot que d'utiliser FOS.

    Le cas de mon site étant assez particulier, je pense que FOS n'est pas fait pour ça. Et que même s'il est possible de bidouiller les choses, ici, ça rajoute de la complexité inutile.

    Je vais donc créer 2 bundles : ClientUser et PostulantUser.
    Le désavantage certain est que je dois "réinventer la roue" et ne pas utiliser le travail déjà bien fait de FOS en ce qui concerne la sécurité des pages.

    Bref, merci encore pour la réponse.

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/06/2014, 10h34
  2. [2.x] Deux types d'utilisateurs
    Par chezdevelopping dans le forum Symfony
    Réponses: 4
    Dernier message: 18/04/2013, 16h03
  3. Session selon le type d'utilisateur
    Par TomtomGesti dans le forum Langage
    Réponses: 1
    Dernier message: 29/08/2006, 16h17
  4. Réponses: 18
    Dernier message: 08/12/2004, 14h04
  5. Résultats erroné différence entre deux types TDateTime
    Par Alghero dans le forum C++Builder
    Réponses: 6
    Dernier message: 12/03/2004, 17h03

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