【问题标题】:Symfony 2 regulate acces to database rowsSymfony2 规范对数据库行的访问
【发布时间】:2013-12-15 18:35:29
【问题描述】:

我想在 symfony 2.3 上构建一个应用程序。在主页上,我想显示数据库中的一些内容。现在,如果用户未经过身份验证和授权,我只想给他们以 ROLE_ANONYMOUS 作为属性的结果。例如,如果用户是管理员,我会给他们ROLE_ANONYMOUSROLE_ADMIN 的行。 要检查是否授予角色,我使用树枝代码

{% if is_granted(metaforum.requiredRole) %}
...
{% endif %}

现在,如果我给自己一个管理员角色,我会得到一切(如预期的那样)。但是,如果我注销并获得匿名角色,我将一无所获。即使将数据库中所需的角色更改为空字符串,它也不起作用。 匿名时,开发人员工具栏会显示Roles: {}。 有没有办法给匿名用户ROLE_ANONYMOUS?如果没有,我怎样才能让它工作?

【问题讨论】:

  • 所以你从数据库中获取所有行然后用 Twig 过滤它?我建议您只在控制器中获取相关数据,而不是在您的视图中。

标签: security symfony controls roles


【解决方案1】:

当从数据库更改连接用户的角色时,您应该注销并再次登录以获得新角色。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-04
    • 1970-01-01
    • 2016-01-31
    • 1970-01-01
    • 2017-10-05
    • 2012-06-01
    • 1970-01-01
    相关资源
    最近更新 更多