Salut à tous,
Toujours dans le cadre de mon premier projet avec Symfony, je reviens vers vous avec un problème concernant le FOSUserBundle.
Pour une application je gère des clients, des administrateurs et des chauffeurs. Dans le fonctionnement logique de la chose, le client a accès à son propre espace, les administrateurs aux urls cachés derrière /admin et les chauffeurs aux urls cachés derrière /chauffeur (c’est un exemple).
Jusqu’ici pas de soucis, je peux jouer avec les rôles si j’ai bien le saisi.
Mais dans ma base de donnée mes clients ne vont pas avoir les mêmes champs que mes administrateurs ou mes chauffeurs. Encore un exemple : client(id, code_client, responsable, telephone), admin(id, identifiant, email, password) et chauffeur(id, identifiant, telephone, type, password)
Certains champs sont en communs mais d’autres sont propres à chaque type d’utilisateur (j’ai simplifié les champs mais il y’en a plus).
Au début je pensais pouvoir créer une entité "User" et ensuite en créer d’autres du genre "Client", "Admin" et "Chauffeur" qui viendraient étendre cette entité User mais apparemment c’est impossible.
Comment faire ce genre de chose alors ?
Est-il propre d’avoir juste une entité User qui va contenir tous les champs de mes 3 types d’utilisateurs et d’en laisser des NULL pour ceux qui n’ont pas besoin de ces informations ?
Par ailleurs une autre question qui va de paire, en fonction de ça est-il possible d’avoir 3 formulaire de connexion différents ?
J’ai fait beaucoup de recherches mais soit je comprends pas exactement, soit j’ai l’impression que c’est impossible. Pourtant la plupart des sites utilisent bien des comptes utilisateurs sur leur site et des comptes administrateur pour un back-office non ?
Si quelqu’un peut m’éclairer car j’avoue que je suis perdu avec ce FOSUserBundle, merci d’avance