2013-03-06 78 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