2011-12-04 144 views
24

在Symfony 2中,您可以設置註銷的目標。所以在註銷後,您將被重定向到/main。但是,登錄後,您將被重定向到/。有沒有辦法爲(成功)登錄設置目標?在Symfony 2登錄後重定向2

firewalls: 
    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 

    login: 
     pattern: ^/m/login$ 
     security: false 

    secured_area: 
     pattern: ^/m 
     form_login: 
      check_path: /m/login_check 
      login_path: /m/login 
     logout: 
      path: /m/logout 
      target: /main 
     anonymous: ~ 

回答

50

是的。您可以使用target_path選項。使用你上面的例子:

firewalls: 
    secured_area: 
     form_login: 
      always_use_default_target_path: true 
      default_target_path: /loggedinpage 

隨着用戶上面總是會在成功登錄時被重定向到/loggedinpage。有關安全組件的所有選項的詳細信息,請參閱Symfony docs(雖然稍有隱藏!)

+2

感謝(深)鏈接到Symfony文檔以獲取更多詳細信息! – flu

+1

另外我會認爲,當你之前沒有請求安全路由時,總是使用default_target_path。不幸的是,它不是。 – flu

+0

如果我想將場所傳遞給路線,該怎麼辦? –