【发布时间】:2013-12-15 18:35:29
【问题描述】:
我想在 symfony 2.3 上构建一个应用程序。在主页上,我想显示数据库中的一些内容。现在,如果用户未经过身份验证和授权,我只想给他们以 ROLE_ANONYMOUS 作为属性的结果。例如,如果用户是管理员,我会给他们ROLE_ANONYMOUS 和ROLE_ADMIN 的行。
要检查是否授予角色,我使用树枝代码
{% if is_granted(metaforum.requiredRole) %}
...
{% endif %}
现在,如果我给自己一个管理员角色,我会得到一切(如预期的那样)。但是,如果我注销并获得匿名角色,我将一无所获。即使将数据库中所需的角色更改为空字符串,它也不起作用。
匿名时,开发人员工具栏会显示Roles: {}。
有没有办法给匿名用户ROLE_ANONYMOUS?如果没有,我怎样才能让它工作?
【问题讨论】:
-
所以你从数据库中获取所有行然后用 Twig 过滤它?我建议您只在控制器中获取相关数据,而不是在您的视图中。
标签: security symfony controls roles