簡體   English   中英

Symfony 2:登錄/注銷時顯示Flash消息

[英]Symfony 2 : Flash message on login / logout

使用Symfony 2.6,我正在尋找在應用程序中在登錄/注銷時添加即顯消息的最佳方法。 我明確指出,在每種情況下,我都不想修改Response(我不需要)。

這是我的解決方案:

登錄:

1.第一個解決方案:

我可以使用security.interactive_login事件或security.authentication.success事件。 在這兩種情況下,我都可以實現一個偵聽器以在事件發生時添加即顯消息。

2.第二種解決方案:

我可以創建實現AuthenticationSuccessHandlerInterface的自己的LoginSuccessHandler,但是在這種情況下,我必須返回一個響應。 而且,我對這種方法並不熟悉,而且恐怕會覆蓋默認的成功處理程序。 那是對的嗎 ?

登出:

我可以創建一個實現LogoutHandlerInterface的LogoutListener 在這種情況下,我也擔心會覆蓋默認的注銷處理程序。

感謝您的建議。

使用已經實現的FOSUserBundle登錄/注銷邏輯等。
這樣,您就可以在登錄檢查重定向中顯示錯誤:

為此,您必須將錯誤返回到樹枝

$session->getFlashBag()->add('error', 'Error message');

在會話中,如果會話中存在任何錯誤,您將需要一個類似這樣的塊來顯示錯誤:

 {% block flashes %}
    {% if app.session.flashbag.peekAll|length > 0 %}
        {{ session_flash() }}
    {% endif %}
 {% endblock flashes %}

暫無
暫無

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

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