2014-02-24 55 views
1

我记得我与symfony2 ajax登录功能的问题。 这里是我的防火墙配置: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”,它需要再次进行身份验证。 如果您需要更多信息,请在评论部分询问。 谢谢你的时间。

回答

0

access_control部分看起来错应用程序/配置/ security.yml

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

好吧,但我有一个问题。没有创建cookie。 – gprusiiski