J'essaie de configurer un système de pare-feu Backend and frontend dans Symfony 2. J'ai deux formulaires de connexion, un pour le frontend et un autre pour le panneau de commande d'administrateur. Différents fournisseurs et ainsi de suite. Ma configuration ressemble à ceci: et ma routage.yml: p> semble juste, mais j'ai l'erreur suivante: Impossible de trouver le contrôleur pour le chemin "/ admin / login_check". Peut-être que vous avez oublié d'ajouter l'itinéraire correspondant dans votre configuration de routage p> des idées? :) p> p>
3 Réponses :
Cette solution que j'utilise dans mes projets. J'espère que cela fonctionnera avec deux formulaires de connexion aussi.
Ajouter un talon pour le contrôleur P>
// src/Acme/DemoBundle/Controller/DefaultController.php
public function adminLoginCheckAction()
{
return $this->redirect($this->generateUrl('admin_login'));
}
Le problème est ... l'action est réellement atteinte.
@vinnylinux Pourriez-vous mettre à jour votre question avec instruction étape par étape Comment reproduire le bogue.
Utilisez simplement l'ACMEDEMOBUNDLE et ajoutez le deuxième pare-feu.
Votre mappage d'URL semble avoir raison,
Vérifiez si vous avez correct ou p > Essayez d'ajouter login_check sous Access_Control comme ci-dessous, P> check_path (/ admin / login_check) code> dans votre contrôleur d'administrateur. p> - { path: ^/admin/login_check, roles: IS_AUTHENTICATED_ANONYMOUSLY }
Peut ne pas être mauvais simplement pour supprimer le "/" de sorte que vous n'avez que: et laissez le motif attribuer la manière dont il est. C'est en fait comment mon sécurité.yml code> semble et expliquerait le problème de la route. p> p>
Je suppose que votre motif devrait être
motif: ^ / admin. * Code>Cet itinéraire apparaît-il dans
App / Console Router: Débogou code>?Si vous utilisez ce modèle pour votre pare-feu arrière:
motif: / admin /.*< / code>Non, le modèle ne semble pas être le problème.
J'ai eu un problème similaire lorsque j'essayais d'utiliser des pare-feu avec un motif de l'URL qui se chevauchant et que le premier pare-feu n'a pas eu de check_path (j'utilisais http_basic dans le premier pare-feu) et deuxièmement, en utilisant form_login. Votre cartographie de l'URL semble avoir raison, veuillez vérifier si vous avez correct check_path (/ admin / login_check) dans votre contrôleur d'administrateur.
Vous avez un problème résolu?
Pas vraiment. Toujours pas capable d'utiliser une forme de connexion appropriée