2013-04-15 108 views
0

我使用的是FOS UserBundle,我已經定義了一個自定義AuthenticationSuccessHandler根據角色顯示不同的主頁,但我認爲應該只在用戶最初請求登錄時調用它頁面,不應該嗎?Symfony2 - FOS UserBundle - 原始請求重定向

在登錄成功,我想被重定向到原始請求。

正如docs描述,這似乎是默認行爲,但對我來說,它仍然使用我的認證處理程序。

有人可以幫助我的用戶他的原始請求重定向?


爲了記錄在案,這裏是我如何註冊我的認證成功處理程序服務:

services: 
    security.success_handler: 
     class: Glide\SecurityBundle\[...]\AuthenticationSuccessHandler 
     public: false 
     arguments: ['@router', '@security.context'] 

回答

2

是,默認行爲是將用戶重定向到他們最初請求的頁面。但是,由於您正在重寫默認身份驗證處理程序,因此您需要自行處理重定向到該頁面。

我建議你看看symfonys authentication handler和模仿它搞清楚用戶的原始請求過程。

+0

你的意思是我必須重新實施整個服務?沒有辦法繼承一些工作嗎?像默認路徑收集一樣。 –

+0

我還沒有真正做你嘗試之前完成的任務,但我相信你可以擴展的類,然後使用它的一些方法 - 比如determineTargetUrl() – MrGlass

+0

好吧,我想試試。我試圖得到這個'providerKey'(爲了獲取原始請求),但我不知道它在哪裏設置。 –