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

时间:2012-05-24 19:27:31

标签: symfony twig access-control

假设如下情况:

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

每个用户都可以拥有一个角色。每个角色都可以访问许多功能。我为每个角色设计了保存和检索Access Matrix的部分。所以我知道哪个角色应该访问哪些功能,并将其保存在名为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)应该能够定义角色及其对每个功能的访问权限,这是一个路由;

提前致谢。

1 个答案:

答案 0 :(得分:0)

看起来你正在寻找ACLs