我正在使用 Symfony2,并且我的数据库中已经存储了用户和角色。如果我在其中设置如下security.yml
内容,效果很好:
access_control:
- { path: ^/admin, role: ROLE_ADMIN}
- { path: ^/users, role: ROLE_MANAGER}
但我想将此 access_control 信息存储在数据库中,以便我系统中的用户可以使用管理界面自行更改权限。
我查看了 ACL 和 FOSUserBundle,但找不到解决方案。我发现我可以使用类似的东西检查权限,if ($user->hasRole($role))
但我需要在每个控制器中执行此操作。
有没有办法定义动态的“access_control”功能?可能类似于将 access_control 重定向到某个可以返回 true 或 false 的类。有什么解决办法吗?