Pergunta

Eu vi até agora um método Twig para saber o privilégio do usuário

{% if is_granted('ROLE_USER') %}

mas nada sobre obter informações autenticadas do usuário, sem passar o objeto em todas as ações do controlador.

Antes de procurar como passar uma variável global para o meu layout, prefiro saber se existe alguma maneira "padrão" de acessar os objetos de usuário do meu provedor de segurança (pelo menos o nome de usuário e as informações do banco de dados para usuários de entidades) emmeu layout ou em qualquer modelo coberto por um firewall.

Foi útil?

Solução

Experimente {{ app.user }}.

A variável de modelo app fornece acesso a muitas das variáveis globais que você esperaria, como request, session, security, etc. Verifique o código-fonte para mais informações.

Uma coisa que você deve estar ciente é que, embora a classe GlobalVariables forneça getters para todas as variáveis, o Twig é inteligente o suficiente para saber como lidar com a forma abreviada, de modo que {{ app.user }} seja equivalente a {{ app.getUser() }}

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top