"记住我"在没有配置它的情况下总是在Symfony 2中?

时间:2014-08-12 12:38:18

标签: symfony authentication login configuration remember-me

我正在Symfony 2中进行管理面板。我创建了登录表单,防火墙和后端控制器,除了记住网站上的功能外,一切都运行得很好。它始终是关闭复选框"记住我"点击与否。

这是我的配置:

**config.yml**
    session:
        handler_id:  ~
        cookie_lifetime: 86400
        gc_maxlifetime: 1800

**security.yml**
security:
    firewalls:
        admin_area:
            pattern: /admin/
            context: admin
            anonymous:  ~
            form_login:
                username_parameter: "admin_login[username]"
                password_parameter: "admin_login[password]"
                csrf_parameter: "admin_login[_token]"
                csrf_provider: form.csrf_provider
                intention: authentication
                login_path: /admin/login
                check_path: /admin/login_check
                success_handler: admin_login_success_handler
                remember_me: true
            logout:
                path:   /admin/logout
                target: /admin/
            remember_me:
                remember_me_parameter: "admin_login[remember_me]"
                key:      "admin_secret"
                lifetime: 86400
                path:     /admin/
                domain:   ~

    access_control:
        - { path: /admin/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: /admin/([a-z_]+)?, roles: ROLE_ADMIN }

记住我复选框:

<input type="checkbox" id="admin_login_remember_me" name="admin_login[remember_me]" value="1">

我在这个设置中做错了,所以无论是否选中了复选框,我总是在控制器中运行它是真的:

$this->get('security.context')->isGranted('IS_AUTHENTICATED_REMEMBERED')

如果我关闭浏览器并重新打开它,即使&#34;记住我&#34;在上次登录时未经检查我仍然登录管理面板。

任何评论都将不胜感激。

感谢。

0 个答案:

没有答案