0

我是 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)

我知道我可以手动包含我的公共页面的代码,但是有没有办法自动检测页面是否在防火墙之外?

请帮忙。=)

4

3 回答 3

1

您可以使用如下检查隐藏部分树枝模板:

{% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}
    {# stuff only logged in users can see #}
{% endif %}
于 2012-06-21T07:46:41.940 回答
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

于 2012-06-21T08:25:04.040 回答
0

我想没有办法做到这一点。=(

于 2012-06-30T05:11:57.017 回答