簡體   English   中英

Symfony2:添加登錄和注銷選項html symfony2

[英]Symfony2: adding log in and log out option html symfony2

我正在使用Symfony2。 我有一個帶有導航欄的主樹枝模板,我想在其中有一個下拉菜單,其中包含“登錄”或“注銷”選項,具體取決於用戶是否登錄。 什么是實現此目標的最佳方法?

-通過使用注銷選項為/ admin / *創建不同的靜態主模板

-通過檢查用戶是否已在路由系統調用的每個控制器內登錄,然后在需要渲染時將正確的信息傳遞給樹枝模板。

-通過從模板內部調用特定的控制器,例如buildNavbarAuthOption()

嘗試使用MVC進行編程時,最后一個選項似乎不是最佳選擇,對嗎?

只需在您的視圖中使用is_granted

{% if is_granted('IS_AUTHENTICATED_FULLY') %}
    <a href="{{ path('name_of_logout_path') }}">Logout</a>
{% else %}
    <a href="{{ path('name_of_login_path') }}">Login</a>
{% endif %}

在您的主模板中,您可以測試變量app.user是否存在,如下所示:

{% if app.user %}
    {# display logout #}
{% else %}
    {# display login #}
{% endif %}

或者更好的方法是,測試當前訪問者是否具有最低的安全性角色:

{% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}

暫無
暫無

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

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