簡體   English   中英

Symfony2:FOSUserBundle-單個防火牆,多個登錄表單/入口點

[英]Symfony2: FOSUserBundle - Single firewall, multiple login forms/entry points

我有一個symfony2應用程序,該應用程序使用配置有FOSUserBundle的單個防火牆來處理后端用戶的持久性。 這非常好用。

但是,我想擁有多個登錄表單/頁面。 我需要防火牆使用的“標准” / login頁面,但我也想在其他頁面中嵌入表單,以便更方便地登錄。

例如,在/ booking / require_login頁面上,我嘗試從FOSUserBundle嵌入登錄表單模板,這很容易。 我將_target_path設置可以成功進行的任何成功嘗試進行轉發。 但是,如果嘗試登錄失敗,我將被重定向回標准/ login表單,而不是保留在/ booking / require_login頁面上以呈現適當的錯誤。 我看到有一個failure_path參數,但這似乎是全局的東西,而不是可以像_target_path這樣的參數傳遞的東西。

感覺就像我可能在推動一種駭人聽聞的方法超出了預期的范圍。

我不需要單獨的防火牆,它只是訪問具有相同限制集的同一登錄名的另一種方法。

任何人都可以提供任何指向干凈(或簡單!)方法的指針嗎?

您可以注入故障處理程序(實現AuthenticationFailureHandlerInterface ),在此您可以基於請求數據創建重定向(例如,基於failure_path post參數重定向至url)。

注入它非常容易,您只需要在DIC配置中創建一個名為security.authentication.failure_handler的服務即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM