2014-11-01 16 views
6

Jedna z trzech rzeczy spowodowała to i nie jestem pewien, która z 3 była. Więc wspomnę o wszystkich 3 w nadziei, że pomoże to innym zaoszczędzić czas.Symfony 2 "Twoja sesja wygasła lub zostały wyłączone pliki cookie"

Początkowo zmieniłem referencje użytkownika bazy danych w parameters.yml To nie działało, ponieważ użytkownik, którego dotyczy problem, nie mógł się zalogować z localhost. Powiedziałem, że użyłem strony do przetestowania połączenia, które mogło zakłócić działanie cookie.

Mam pewne problemy z pozwoleniami na folder pamięci podręcznej z powodu braku obrazu. Musiałem więc wyczyścić pamięć podręczną i dostosować niektóre uprawnienia za każdym razem.

Wreszcie zmieniłem ścieżki dla security.yml

 form_login: 
      login_path: /login 
      check_path: /login_check 
     logout: 
      path: /logout 

do:

 form_login: 
      login_path: /account/login 
      check_path: /account/login_check 
     logout: 
      path: /account/logout 

Wraz z odpowiednimi zmianami w routing.yml

którego wynikało, że mój już zalogowany w użytkowniku nie były już przekazywane poświadczenia bezpieczeństwa, a gdy próbowałem zalogować się za pośrednictwem innego użytkownika/przeglądarki, zawsze miałem do czynienia z: "Twoja sesja wygasła lub masz wyłączone ciasteczka”

Wiele wiele godzin spędził następujące tematy zastępcze, kontroli bezpieczeństwa, obsługi logowania, Redis itp

odpowiedzi poniżej.

Odpowiedz

8

I w końcu znalazłem odpowiedź tutaj: Symfony authentication - can't get past login page in production (odpowiedź przez pleerock)

Ale chciał połączyć się komunikat o błędzie w moim temacie z tego rozwiązania poniżej:

security: 
    firewalls: 
     main: 
      form_login: 
       require_previous_session: false 

ta stała się kwestią dla przeglądarek, które nie były zalogowane przed wystąpieniem problemu.

Dla mojej przeglądarki, która była już zalogowana, musiałem ręcznie usunąć plik cookie sesji, aby wszystko działało ponownie.