2013-03-06 76 views
1

有一個奇怪的問題,其他人似乎沒有。 我不能在我的Symfony 2.1應用程序中使用「記住我」功能。Symfony 2和記住我功能

我試過本地和部署在服務器上,我嘗試過,沒有FOS用戶包,我似乎無法得到它的工作。

它是由作曲家並沒有什麼基本設置丟失,安全工作正常,我可以登錄,登出,創建新用戶,等等,等等

它創建會話cookie精(經檢查發現),但我認爲這意味着它不會創建第二個cookie?

# app/config/security.yml 
security: 
    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 

    firewalls: 
     dev: 
      pattern: ^/(_(profiler|wdt)|css|images|js)/ 
      security: false 
     login_firewall: 
      pattern:  ^/login$ 
      anonymous: ~ 
     main: 
      remember_me: 
       key:  "%secret%" 
       lifetime: 31536000 # 365 days in seconds 
       path: /
       domain: ~ # Defaults to the current domain from $_SERVER 
      pattern: ^/ 
      form_login: 
       provider: fos_userbundle 
       csrf_provider: form.csrf_provider 
      logout:  true 
      anonymous: true 

    access_control: 
     - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/register, role: ROLE_ADMIN } 
     - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/, role: ROLE_ADMIN } 
+0

使用事件偵聽器重定向取決於登錄后角色的用戶時,我們也有類似的問題。如果您使用的是類似的偵聽器,您將無法使用記住我的功能,因爲偵聽器在創建記住我的cookie之前返回重定向。請參閱http://www.reecefowell.com/2011/10/26/redirecting-on-loginlogout-in-symfony2-using-loginhandlers/以獲取不同的重定向方法(如果您這樣做)。 – Luke 2013-03-06 15:21:02

+0

感謝盧克,但它是一個簡單的remember_me:真正的表單登錄。即使我必須強制TRUE,這將使我對這個應用程序罰款。 – 2013-03-06 16:01:00

回答

3

嘗試從這裏添加的設置:

security: 
    # ... 

    form_login: 
     # ... 
     remember_me: true 
    remember_me: 
     # ... 
     always_remember_me: true 
+0

你是一個明星! – 2013-03-06 15:58:00

+0

我不想顯示remember_me按鈕我該怎麼辦? – 2014-02-10 18:03:30

+1

'always_remember_me'完全一樣。 – 2014-02-10 19:41:39