【问题标题】:Symfony 2 & Remember me functionSymfony 2 和记住我功能
【发布时间】:2013-03-06 11:22:17
【问题描述】:

有一个其他人似乎没有的奇怪问题。 我的 Symfony 2.1 应用程序无法使用“记住我”功能。

我尝试过本地部署并部署在服务器上,尝试过使用和不使用 FOS 用户包,但我似乎无法让它工作。

这是 composer 的基本设置,没有任何遗漏,安全工作正常,我可以登录、注销、创建新用户等。

它可以很好地创建会话 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 }

【问题讨论】:

  • 我们在使用事件监听器根据登录后的角色重定向用户时遇到了类似的问题。如果您使用类似的侦听器,您将无法使用记住我功能,因为侦听器会在创建记住我 cookie 之前返回重定向。如果您这样做,请参阅reecefowell.com/2011/10/26/… 了解另一种重定向方法。
  • 感谢 Luke,但这是一个简单的 remember_me: true 表单登录。即使我必须强制 TRUE,这对这个应用程序来说也很好。

标签: symfony cookies symfony-2.1 fosuserbundle remember-me


【解决方案1】:

尝试从这里添加设置:

security:
    # ...

    form_login:
        # ...
        remember_me: true
    remember_me:
        # ...
        always_remember_me: true

【讨论】:

  • 我不想显示 remember_me 按钮我该怎么办?
  • always_remember_me 正是这样做的。
猜你喜欢
  • 1970-01-01
  • 2016-10-12
  • 1970-01-01
  • 2012-08-08
  • 2015-07-13
  • 2011-01-13
  • 2012-03-13
  • 2023-04-01
  • 1970-01-01
相关资源
最近更新 更多