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 :

[SecurityFactory] RuntimeException: The parent definition [] does not exist.


Sujet :

Symfony PHP

  1. #1
    Membre éclairé

    Inscrit en
    Novembre 2008
    Messages
    418
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 418
    Points : 828
    Points
    828
    Par défaut [SecurityFactory] RuntimeException: The parent definition [] does not exist.
    Bonjour,
    J'essaie de mettre en place un bundle d'authentification correspondant à la politique de sécurité de ma boite.
    Pour ce faire, j'ai mis en place ce qui est définit dans les Howto "create au custom user provider" et "create a custom authentication provider" et je dois dire que j'ai bien du mal à m'en sortir.
    En particulier, lorsque je lance mon appli, je récupère un message :
    RuntimeException: The parent definition "accessmaster.security.authentication.provider" defined for definition "security.authentication.provider.accessmaster.accessmaster_secured" does not exist.
    Ce message d'erreur n'est pas très clair pour moi.

    Apparemment, accessmaster_secured est le nom du firewall définit dans /app/config.security.yml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    security:
    # ...
     
        factories:
            - "%kernel.root_dir%/../src/Cnamts/SecurityBundle/Resources/config/security_factories.yml"
     
    # ...
     
        firewalls:
            accessmaster_secured:
                pattern:    ^/
                accessmaster: true
    Cette erreur à l'air de venir de ma SecurityFactory mais je n'ai pas trouvé dans les différents tutos que j'ai regardé d'informations claires à ce sujet.
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    // src/Acme/SecurityBundle/DependencyInjection/Security/Factory/AccessMasterFactory.php
    namespace Acme\SecurityBundle\DependencyInjection\Security\Factory;
     
    use Symfony\Component\DependencyInjection\ContainerBuilder;
    use Symfony\Component\DependencyInjection\Reference;
    use Symfony\Component\DependencyInjection\DefinitionDecorator;
    use Symfony\Component\Config\Definition\Builder\NodeDefinition;
    use Symfony\Bundle\SecurityBundle\DependencyInjection\Security\Factory\SecurityFactoryInterface;
     
    class AccessMasterFactory implements SecurityFactoryInterface
    {
     
        public function create(ContainerBuilder $container, $id, $config, $userProvider, $defaultEntryPoint)
        {
            $providerId = 'security.authentication.provider.accessmaster.'.$id;
            $container->setDefinition($providerId, new DefinitionDecorator('accessmaster.security.authentication.provider'))
                      ->replaceArgument(0, new Reference($userProvider));
            $listenerId = 'security.authentication.listener.accessmaster.'.$id;
            $listener = $container->setDefinition($listenerId, new
                DefinitionDecorator('accessmaster.security.authentication.listener'));
            return array($providerId, $listenerId, $defaultEntryPoint);
        }
    // ...
        public function getKey()
        {
            return 'accessmaster';
        }
    // ...
    }
    Merci pour votre aide.

  2. #2
    Membre éclairé

    Inscrit en
    Novembre 2008
    Messages
    418
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 418
    Points : 828
    Points
    828
    Par défaut
    J'ajoute l'ensemble des messages d'erreur...
    in /app/v8d35/web/Symfony.refnom/vendor/symfony/src/Symfony/Component/DependencyInjection/Compiler/ResolveDefinitionTemplatesPass.php line 64
    at ResolveDefinitionTemplatesPass->resolveDefinition() in /app/v8d35/web/Symfony.refnom/vendor/symfony/src/Symfony/Component/DependencyInjection/Compiler/ResolveDefinitionTemplatesPass.php line 49
    at ResolveDefinitionTemplatesPass->process() in /app/v8d35/web/Symfony.refnom/vendor/symfony/src/Symfony/Component/DependencyInjection/Compiler/Compiler.php line 119
    at Compiler->compile() in /app/v8d35/web/Symfony.refnom/vendor/symfony/src/Symfony/Component/DependencyInjection/ContainerBuilder.php line 437
    at ContainerBuilder->compile() in /app/v8d35/web/Symfony.refnom/app/bootstrap.php.cache line 868
    at Kernel->buildContainer() in /app/v8d35/web/Symfony.refnom/app/bootstrap.php.cache line 779
    at Kernel->initializeContainer() in /app/v8d35/web/Symfony.refnom/app/bootstrap.php.cache line 513
    at Kernel->boot() in /app/v8d35/web/Symfony.refnom/app/bootstrap.php.cache line 544
    at Kernel->handle() in /app/v8d35/web/Symfony.refnom/web/app_dev.php line 26
    Si vous avez besoin d'autres parties du code, je peux bien sûr le mettre mais je ne cherche pas nécessairement une solution clé en main mais plutôt des pistes car là, je sèche un peu.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 394
    Points : 347
    Points
    347
    Par défaut
    je te conseille de lire attentivement la doc officielle : au sujet de l'authentification personnalisée :

    http://symfony.com/doc/current/cookb..._provider.html
    et ceci :
    http://symfony.com/doc/current/cookb..._provider.html

  4. #4
    Membre éclairé

    Inscrit en
    Novembre 2008
    Messages
    418
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 418
    Points : 828
    Points
    828
    Par défaut
    Bonjour,
    Merci... J'arrête pas de lire ces chapitres mais je n'ai pas encore réussi à faire fonctionner tout ça ensemble.
    C'est en essayant de créer un module avec rien que le contenu des chapitres du cookbook relatifs au custom user provider et custom authentication provider que j'obtiens l'erreur de ce thread.
    Mon problème, c'est que je n'ai aucune idée de ce à quoi fait référence "The parent definition "accessmaster.security.authentication.provider""
    Je fais bien référence à cela dans le factory et je ne vois nulle part ailleurs où cela serait en référence...

Discussions similaires

  1. [1.x] The "default" context does not exist.
    Par erictomcat dans le forum Symfony
    Réponses: 4
    Dernier message: 09/08/2012, 15h34
  2. Réponses: 4
    Dernier message: 24/08/2011, 18h33
  3. [1.x] The "default" context does not exist.
    Par hou1919 dans le forum Symfony
    Réponses: 2
    Dernier message: 12/05/2011, 14h19
  4. The name 'AdressFamily' does not exist in the current context
    Par konamine dans le forum Windows Forms
    Réponses: 1
    Dernier message: 26/10/2008, 16h49
  5. Problème "The specified service does not exist as an ..
    Par Rimak2 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 23/05/2005, 21h24

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