我是Symfony的新手。
我想要一段代码只显示在公开的页面上。 Twig是否可以检测页面是否公开?
该页面位于IS_AUTHENTICATED_ANONYMOUSLY
下,但即使用户已登录,我仍希望显示该段代码。
For Example:
www.somesite.com (shows the code, publicly available)
www.somesite.com/login (user login, publicly available, shows code)
//user is not logged in
www.somesite.com/dosomething (only available to logged-in users, code is hidden)
//user goes to the home page, still logged-in
www.somesite.com (must show the code, publicly available)
我知道我可以手动包含公共页面的代码,但有没有办法自动检测页面是否在防火墙之外?
请帮助。 =)
答案 0 :(得分:1)
您可以使用支票隐藏部分树枝模板:
{% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}
{# stuff only logged in users can see #}
{% endif %}
答案 1 :(得分:0)
或检查角色IS_AUTHENTICATED_FULLY
{% if is_granted('IS_AUTHENTICATED_FULLY') %}
{# stuff only logged in users can see #}
{% endif %}
点击此处的文档:http://symfony.com/doc/current/book/security.html#retrieving-the-user-object
答案 2 :(得分:0)
我想没有办法做到这一点。 =(