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 :

The component does not exist: "sfGuardAuth", "signin". [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de khand
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2008
    Messages : 120
    Par défaut The component does not exist: "sfGuardAuth", "signin".
    Bonjour à tous,
    Je suis en train d'installer sfDoctrineGuardPlugin. Tout se passe bien jusqu'à ce que j'essaye d'appeler mon formulaire de login dans un composant.

    J'obtiens cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    The component does not exist: "sfGuardAuth", "signin".
    setting.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    all:
      .settings:
        # Enable the database manager
        use_database:           true
        enabled_modules:        [default,sfGuardAuth]
    template.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <!-- LOGIN DEUX -->
    <div id="login" class="bloc">
      <?php include_component('sfGuardAuth', 'signin') ?>
    </div>
    Dois-je déclarer moi même le composant ? Si oui, à partir de codes qui se trouvent dans le répertoire du plugin ?


    Merci de votre aide


    ps: les "symfony cc" n'ont rien changé à la situation...

  2. #2
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut
    Il n'y a en effet aucun composant dans sfGuardAuth. Si tu veux afficher le formulaire, il faut inclure le partial _signin_form.php. Voir le code de signinSuccess.php pour référence. Si tu veux invoquer un composant que tu as écrit, il faut ajouter la méthode et les templates requis dans actions/components.class.php.

  3. #3
    Membre éprouvé Avatar de Maerlyn31
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 71
    Par défaut
    /fonce vérifier dans un plugin
    ... ... ... Ding !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php include_component('sfGuardAuth', 'signin_form') ?>
    Si il était dans un partial il faudrait, au minimum, ré-instancier le formulaire dans chaque action appelant le partial !

  4. #4
    Membre confirmé Avatar de khand
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2008
    Messages : 120
    Par défaut
    Hello,

    Parfait ca fonctionne bien Juste encore un détail...


    Dans mon template j'ai un endroit où j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php include_component('sfGuardAuth', 'signin_form') ?>
    et un peu plus loin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php echo $sf_content ?>

    Maintenant mon formulaire de login s'affiche à ces deux endroit ! De plus, les erreurs (bad login, et cie) s'affiche au niveau du "$sf_content" et non à l'endroit de mon composant !

    Des idées ?


    D'avance merci !

    Et bonne soirée

  5. #5
    Membre éprouvé Avatar de Maerlyn31
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 71
    Par défaut
    Tu peux faire quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php if($sf_user->isAuthenticated()){
        include_component('sfGuardAuth', 'signin_form');
    }
    ?>
    Pour n'afficher le formulaire que si ton visiteur est déconnecté.

    Par contre pour aller plus loin, à mon avis c'est la manière dont sont organisées tes pages (circuit de navigation), ainsi que la sécurité associée, qui doivent être réfléchis plus en avant.

  6. #6
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut
    Citation Envoyé par Maerlyn31 Voir le message
    /fonce vérifier dans un plugin
    ... ... ... Ding !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php include_component('sfGuardAuth', 'signin_form') ?>
    Si il était dans un partial il faudrait, au minimum, ré-instancier le formulaire dans chaque action appelant le partial !
    Ha umpf... il y a un détail symfonique qui m'a échappé alors. Je ne vois rien de déclaré dans sfGuardAuth/actions/components.class.php. Comment se fait-il que l'appel à un composant fonctionne quand-même ?

  7. #7
    Membre confirmé Avatar de khand
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2008
    Messages : 120
    Par défaut
    Merci pour vos réponses.

    @Maerlyn31 : ce n'est pas tout à fait ca, je me suis mal exprimé je pense. En fait, au même moment, il m'affiche le formulaire de login dans mon composant ET dans mon contenu. Y a t'il un moyen de lui dire que si il affiche le formulaire à l'aide du composant, il ne doit pas l'afficher dans le contenu (sf_content).

    D'avance merci !

    Bonne journée à tous.

  8. #8
    Membre éprouvé Avatar de Maerlyn31
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 71
    Par défaut
    @Herode : sfGuardAuthComponents hérite de BasesfGuardAuthComponents, qui se trouve dans le répertoire lib juste a côté, et qui contient une méthode "executeSignin_form()"

    @Khand : Je n'ai jamais testé d'implémentation de ce genre, donc un peu au pif ^^
    Il doit y avoir, dans ton fichier settings.yml, deux paramètres que tu as défini lors de l'installation de DoctrineGuarduser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            login_module:           sfGuardAuth
            login_action:           signin
    A mon avis ces valeurs doivent être celles à modifier dans ton cas : tu peux tester de faire pointer vers tonModule/tonAction, avec par exemple une action qui ne fais qu'afficher un message "Attention, connectez vous en haut de page".

    J'ai jamais testé ce genre de surcharge avec DoctrineGuard par contre, tiens moi au courant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] The annotation does not exist
    Par taz007_dj dans le forum Symfony
    Réponses: 19
    Dernier message: 21/07/2013, 12h43
  2. [1.x] The component does not exist
    Par akito dans le forum Symfony
    Réponses: 2
    Dernier message: 28/06/2011, 14h37
  3. [c3p0] The connection does not exist
    Par vince29 dans le forum Hibernate
    Réponses: 3
    Dernier message: 28/01/2009, 12h30
  4. 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
  5. FATAL 1: Database "x" does not exist in the syste
    Par barbituric dans le forum PostgreSQL
    Réponses: 11
    Dernier message: 17/03/2004, 06h35

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