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 :

Symfony 2 - Surcharge Usermanager FosUserbundle


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 5
    Par défaut Symfony 2 - Surcharge Usermanager FosUserbundle
    Bonjour et bonne année à la communauté,

    Je débute sur Symfony 2 et j'utilise FOSUserbundle pour gérer mes parties utilisateurs.

    J'aimerais pouvoir surcharger le Usermanager du FosUserbundle afin de pouvoir ajouter mes propres règles sur les valeurs des champs envoyées en base de données.

    JE me suis reféré à la doc officielle de FOSUserBundle ici: https://github.com/FriendsOfSymfony/...ser_manager.md

    Concernant la surcharge du UserManager, mais je ne sais pas comment créer un service et pas de tutos faciles à trouver sur google.

    Une âme charitable peut-elle me venir en aide?

  2. #2
    Membre éclairé Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Par défaut
    Hello,
    vu que le poste n'a pas eu de réponse et que je me trouve devant le même problème, je me permets ce gros déterrage.

    La doc du FOSUB nous dit ici : https://github.com/FriendsOfSymfony/...e-user-manager
    que pour surcharger le usermanager de base il suffit de créer une nouvelle classe et de la renseigner dans la config

    voici ce que j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    namespace Client\Bundle\UserBundle\Entity;
    use FOS\UserBundle\Model\UserManager as UserManager;
    use FOS\UserBundle\Model\UserManagerInterface as UserManagerInterface;
     
    class CustomUserManager implements UserManagerInterface
    {
     
        public function __construct(EncoderFactoryInterface $encoderFactory, CanonicalizerInterface $usernameCanonicalizer, CanonicalizerInterface $emailCanonicalizer, ObjectManager $om, $class)
        {
            parent::__construct($encoderFactory, $usernameCanonicalizer, $emailCanonicalizer, $om, $class);
        }
     
    }
    et pour ma config
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    fos_user:
        db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
        firewall_name: main
        user_class: Client\Bundle\UserBundle\Entity\User
        use_listener: false
        registration:
            confirmation:
                enabled: true
                template: ClientUserBundle:Registration:email.html.twig
        group:
            group_class: Client\Bundle\UserBundle\Entity\Group
        service:
            user_manager: 'custom_user_manager'
     
    services:
        custom_user_manager:
            class: Client\Bundle\UserBundle\Entity\CustomUserManager
            arguments: [@security.encoder_factory, @fos_user.util.username_canonicalizer, @fos_user.util.email_canonicalizer, @fos_user.entity_manager, Acme\UserBundle\Entity\User]
    Et bien évidemment ça ne fonctionne pas..
    est-ce que quelqu'un a une idée de comment s'y prendre? le but étant de rajouter une méthode findByID et autres sur mes users..

    Merci

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 60
    Par défaut
    Bonjour,

    L'id de ton service respecte bien la typo et la casse de ta config FOSUB ?

  4. #4
    Membre éclairé Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Par défaut
    Hello,
    merci pour ta réponse.

    De quel id parles-tu? "custom_user_manager"?
    Si oui, le seul endroit où il est référencé est ce même fichier. Il faut que je le rajoute quelque part ailleurs?

    PS : quand j'étends le user manager de fosub j'ai un message d'erreur qui me dit :
    Fatal error: Class CustomUserManager contains 6 abstract method and must therefore be declared abstract or implement the remaining methods
    Une idée?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 60
    Par défaut
    Autant pour moi, je n'avais pas descendu l'ascenseur et donc pas vu la définition de ton service 'custom_user_manager'.
    C'est d'ailleurs à ce niveau là que se situe ton problème, tu pourras trouver comment configurer ton service en étendant un autre service à cet endroit dans la doc.

  6. #6
    Membre éclairé Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Par défaut
    Hello,

    effectivement ça devrait jouer avec ça. Je teste demain et vous tiens au courant

    Bonne soirée

Discussions similaires

  1. Réponses: 7
    Dernier message: 27/02/2014, 09h29
  2. [2.x] FOSUserBundle - surcharger l'action login_check
    Par tom42 dans le forum Symfony
    Réponses: 1
    Dernier message: 27/02/2012, 10h55
  3. [2.x] démarrage symfony et fosuserbundle
    Par altair8080 dans le forum Symfony
    Réponses: 12
    Dernier message: 23/12/2011, 09h19
  4. [2.x] FOSUserBundle + surcharger validation.xml
    Par khand dans le forum Symfony
    Réponses: 0
    Dernier message: 20/10/2011, 09h20
  5. Réponses: 8
    Dernier message: 11/06/2010, 15h09

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