Symfony2 ajax登录记住我的功能

时间:2014-02-24 09:32:38

标签: php ajax symfony remember-me

我有一个问题,记住我使用symfony2 ajax登录功能。 这是我的防火墙配置:

firewalls:
    secured_front:
        pattern: ^/admin/*
        anonymous: ~
        remember_me:
            key:      "%secret%"
            lifetime: 31536000
            domain:   ~ 
            path: /
            remember_me_parameter: _remember_me
        form_login:
            login_path:  /#login
            check_path:  /admin/login_check
            default_target_path: /admin
            remember_me: true
            success_handler: front_authentication_handler
            failure_handler: front_authentication_handler
        logout:
            path:   /admin/logout

以下是我发送给login_checl的内容:

    ajaxData['_username'] = $(this.form).find('#username').val();
    ajaxData['_password'] = $(this.form).find('#password').val();
    $(this.form).find('#rememberMe').is(':checked');
    if($(this.form).find('#rememberMe').is(':checked')){
        ajaxData['_remember_me'] = 'on';
    }

这是配置。这应该允许记住的用户访问“/ admin”url:

    - { path: ^/admin, roles: IS_AUTHENTICATED_REMEMBERED}
    - { path: ^/admin, roles: ROLE_AUTHENTICATED}

问题是,它不起作用。关闭浏览器后,打开它并尝试访问安全的URL“/ admin”,它需要再次进行身份验证。 如果您需要更多信息,请在评论部分询问。 谢谢您的时间。

1 个答案:

答案 0 :(得分:0)

你的access_control部分在 app / config / security.yml 中看错了:

- { path: ^/admin, roles: IS_AUTHENTICATED_REMEMBERED}
# You should remove following line
# - { path: ^/admin, roles: ROLE_AUTHENTICATED}