簡體   English   中英

在頁面上的 Symfony(在 Twig)中獲取用戶名,匿名用戶可以訪問

[英]Get username in Symfony (in Twig) on page, which is accessible to anonymous users

有沒有辦法訪問頁面上登錄用戶的用戶名,Symfony 2.6.1 中的匿名用戶可以訪問該用戶名?

示例:我有主頁,登錄鏈接在哪里,如果有用戶登錄,我想將他的用戶名顯示為指向他的帳戶的鏈接,而不是登錄鏈接。

如果我使用{{ app.user.username }}它會顯示錯誤

Impossible to access an attribute ("username") on a NULL variable ("")

因為app.user在具有security: false頁面上是 null 對象是security.yml 它僅適用於需要在防火牆下且沒有security: false

我不確定我是否正確理解了您的問題,但是{{ app.user.username }}確實會引發異常,因為如果您未登錄,則沒有用戶對象。因此只需檢查該對象是否存在:

{% if app.user is defined %}
    {# link to account #} 
{% else %}
    {# link to login #}
{% endif %}

如果這個提示不是預期的,請給我們一些代碼。

你應該嘗試這樣的事情:
為匿名設置默認值:

{{ app.user.username|default('Not Logged') }}

嘗試這個

{{ app.security.getToken().getUser() }}

暫無
暫無

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

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