Symfony2,如何为每个角色设置访问控制



假设如下场景:

Class User {}      // User has Admin Role 
Class Role {}     // Role Admin has Access to choose_date
Class Feature {} // Feature route is choose_date

每个用户可以有一个角色。每个角色都可以访问许多功能。我设计了为每个角色保存和检索访问矩阵的部分。所以我知道哪个角色应该访问哪些功能,并且它保存在一个名为 roles_features 的表中。

我是否必须编写自己的函数来检查该角色是否允许手动路由。注意:我根本不想使用secuirty.yml文件;

// In my Twig File
{% if my_own_get_access_matrix(app.user.roles, 'choose_date') %}
    <a href="{{ path('choose_date') }}">
        Edit 
    </a>
{% endif %}

我想知道是否存在任何预定义my_own_get_access_matrix为每个角色和链接返回优化的访问控制方式,或者我必须实现我的;

正如我所写,我不想使用secuirity.yml,因为访问控制必须是动态的。因此,超级用户 (ADMIN) 应该能够定义角色及其对每个功能的访问权限,这是此处的路由;

提前谢谢。

看起来您正在寻找 ACL。

最新更新