2015-08-15 10 views
6

Ok Leute, es war 10 Stunden, dass ich eine Lösung für mein Problem suche. Meine Firewall auf Symfony 2.7 leitet mich nicht um, wenn ich nicht eingeloggt bin.Symfony Firewall leitet mich nicht um, wenn ich mich nicht anmelde

Wenn ich auf domain.com/admin/ gehe, sollte die Firewall mich auf/login umleiten, aber nicht.

Ich benutze FOSUSerBundle. ich diese Fehlermeldung alway erhalten:

Sie nicht 401 Unauthorized authentifiziert werden - Httpexception 1 verknüpft Ausnahme: AuthenticationCredentialsNotFoundException »

Hier ist mein Code:

security: 
    encoders: 
     FOS\UserBundle\Model\UserInterface: sha512 
    providers: 
     fos_userbundle: 
      id: fos_user.user_provider.username 

firewalls: 
    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 
    admin: 
     pattern: ^/ 
     context: site 
     form_login: 
      provider: fos_userbundle 
      check_path: /login_check 
      login_path: /login 
     logout: 
      path: /admin/logout 
     anonymous: false 

Meine Zutrittskontrolle :

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 } 

Hier ist der Code in PhpStorm, wenn Sie bevorzugen: Image1

Vielen Dank für Ihre Hilfe!

+1

Versuchen Sie, "anonymous" auf "true" für die Admin-Firewall zu setzen. Und vergessen Sie nicht Clear Cache –

+0

Ich habe dies bereits mit keinem Erfolg versuchen:/Mit anonymen zu wahr, lautet die Fehlermeldung: "Sie haben nicht die erforderlichen Berechtigungen - 403 Forbidden - AccessDeniedHttpException" (Cache wird gelöscht) – coolfarmer

+0

Könnten Sie versuche, 'pattern: ^/admin /' für die admin firewall zu setzen? –

Antwort

1

Endlich fand ich das Problem !! FOSRestBundle hat einen Konflikt mit FOSUserBundle. Wenn ich RestBundle in config.yml deaktiviere, funktioniert alles !!

Also, ich verschiebe nur mein API-Paket in einem anderen Symfony-Projekt. Ein Projekt für meine API und ein Projekt für meine Website.

Verwandte Themen