FOSUserBundle: konfigurieren Sie die " überprüfen Sie den Pfad gehandhabt werden durch die firewall mit form_login
Lade ich die FOSUser Bundle in meinem symfony-Projekt.
Dies ist die routing-Datei des Bundles:
# Manage security
fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"
# User Profil
fos_user_profile:
resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
prefix: /profile
# Register User
fos_user_register:
resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
prefix: /register
# Reset User password
fos_user_resetting:
resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
prefix: /resetPassword
# Change User password
fos_user_change_password:
resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
prefix: /changePassword
Nun, wenn ich gehen möchte, auf die login-Seite funktioniert alles, aber wenn ich die Verbindung herstellen möchten, die Benutzer, ich habe diesen Fehler:
Müssen Sie konfigurieren, überprüfen Sie den Pfad gehandhabt werden durch die firewall mit
form_login in Ihrer firewall-Konfiguration.
Dies ist meine config Datei, Sicherheit.yml:
security:
firewalls:
dev:
pattern: ^/(_(profiler|wdt|error)|css|images|js)/
security: false
default:
anonymous: ~
main:
pattern: ^/
form_login:
check_path: fos_user_security_login_check
login_path: fos_user_security_login
provider: fos_userbundle
csrf_provider: security.csrf.token_manager
logout:
path: fos_user_security_logout
target: /
anonymous: true
encoders:
FOS\UserBundle\Model\UserInterface: sha512
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
fos_userbundle:
id: fos_user.user_provider.username
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
Was ich bin doign falsch?
Außerdem, wenn ich möchte, dass die Abmeldung habe ich diese Fehlermeldung:
Müssen Sie Sie aktivieren den logout-in Ihrer firewall-Konfiguration.
Sie haben ein problem mit dem Doppel-Encoder-Taste
Ich sehe nicht
Ich entfernte die ersten encoder
Ich definierte Sie in der firewall hier
Ja aber wo sind die Routen für
Ich sehe nicht
fos_user_security_login_check
und fos_user_security_login
definiert in Ihrer routing-Datei.Ich entfernte die ersten encoder
encoders: FOS\UserBundle\Model\UserInterface: bcrypt
habe ich eine andere Fehlermeldung, wenn ich möchte logout You must activate the logout in your security firewall configuration.
Ich definierte Sie in der firewall hier
main: pattern: ^/ form_login: check_path: fos_user_security_login_check login_path: fos_user_security_login
Ja aber wo sind die Routen für
fos_user_security_login_check
und fos_user_security_login
definiert ? Und ich bin nicht sicher, dass Sie verwenden können, route-Namen für check_path
und login_path
ich aber, dass Sie hatte, um die URLs verwenden, zum Beispiel /login
InformationsquelleAutor french_dev | 2015-07-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entfernen Sie einfach Ihre
default
firewall:Es fangen alle Ihre Anforderungen, da firewalls sind tests in der Reihenfolge, wie Sie definiert sind.
Also auf ein FOSUserBundle Seite wie die login-Seite, es gibt keine
form_login
Anbieter nochlogout
.Kein problem, hoffe es wird helfen.
Es ist schon eine Weile, und ich nicht die Zeit nehmen, dir zu Antworten (besser spät als nie). Danke durch die Art und Weise, Sie mir helfen, dieses problem zu lösen
InformationsquelleAutor Yassine Guedidi
verwenden :
InformationsquelleAutor m6devin
Ich denke, dass dies ein Duplikat von Sie müssen konfigurieren, überprüfen Sie den Pfad gehandhabt werden durch die firewall mit form_login in Ihrer firewall-Konfiguration
Deinem code falsch ist nur in dem Teil der check_path Wert.
Dies ist Ihr ursprünglicher code:
Ist und Sie sollten so etwas wie:
Hinweis, dass check_path hat als Wert nur ein string. Wenn Sie den Wert fos_user_security_check, die Sie anrufen, um SecurityController.php Klasse und dem aufrufen der checkAction() Methode, die genau, nur wirft ein Absturz mit Laufzeitfehler Ausnahme mit dem Fehler angezeigt "müssen Sie konfigurieren, überprüfen Sie den Pfad gehandhabt werden durch die firewall mit form_login in Ihrer firewall-Konfiguration.". So das Update ist so einfach, dass Sie nicht verwenden Sie den Wert fos_user_security_check
InformationsquelleAutor shakaran
Dieser dauerte Tage, um sich zu Sortieren und war so eine einfache Lösung. Hoffe um jemand anders zu retten Sie einige Zeit, indem was ich Tat. Musste einfach entfernen
Meine Sicherheit.yml sieht jetzt so aus:
InformationsquelleAutor nschildre