1

有一个其他人似乎没有的奇怪问题。我无法在 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 }
4

1 回答 1

3

尝试从此处添加设置:

security:
    # ...

    form_login:
        # ...
        remember_me: true
    remember_me:
        # ...
        always_remember_me: true
于 2013-03-06T12:46:17.347 回答