2014-02-24 232 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