[英]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.