【发布时间】:2012-05-25 22:56:18
【问题描述】:
假设如下场景:
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) 应该能够在此处定义角色及其对每个功能的访问权限;
提前致谢。
【问题讨论】:
标签: symfony twig access-control