【问题标题】:Symfony 2, return true for bad rolesSymfony 2,对坏角色返回 true
【发布时间】:2015-06-08 05:22:56
【问题描述】:
role_hierarchy:
        ROLE_USER: [ROLE_CLIENT, ROLE_CHAT]
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: ROLE_ADMIN

我的观点回来了:

array:2 [▼
  0 => Role {#333 ▼
    -role: "ROLE_CHAT"
  }
  1 => Role {#334 ▼
    -role: "ROLE_USER"
  }
]
You  cant't see this.

我的看法:

{% block content %}
    <h1>Client panel</h1>
    {{ dump(app.security.token.roles) }}


{% if is_granted('ROLE_CLIENT') %} You can't see this. {% endif %}


{% endblock %}

如果用户没有此角色,我不知道为什么授予 ROLE_CLIENT 返回 true。他只有 ROLE_USER 和 ROLE_CHAT。

感谢您的帮助。

【问题讨论】:

    标签: php symfony fosuserbundle roles


    【解决方案1】:

    在您的角色层次结构中,您可以看到ROLE_USER 已经拥有角色ROLE_CLIENTROLE_CHAT。这是预期的行为。

    如果您希望它返回 false,只需更改 security.yml 中的 role_hierarchy 块。

    【讨论】:

    • 我同意@Michael Sivolobov
    猜你喜欢
    • 2014-09-26
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-17
    • 1970-01-01
    相关资源
    最近更新 更多