我正在使用Symfony2,我的用户和角色已存储在我的数据库中.如果我设置类似下面的东西,security.yml那么效果很好:
access_control:
- { path: ^/admin, role: ROLE_ADMIN}
- { path: ^/users, role: ROLE_MANAGER}
Run Code Online (Sandbox Code Playgroud)
但我想将此access_control信息存储在数据库中,因此我系统中的用户可以使用管理界面更改权限本身.
我查看了ACL和FOSUserBundle但无法找到解决方案.我发现我可以用类似的东西检查权限,if ($user->hasRole($role))但我需要在每个控制器中执行此操作.
有没有办法定义动态"access_control"功能?也许就像将access_control重定向到某个可能返回true或false的类.有解决方案吗
最好的方法是设置DB_ROLE_CHECK您要根据数据库存储角色验证的操作/服务上设置的特定角色(例如).
然后,您将创建一个安全选民,DB_ROLE_CHECK根据您的数据库条目挂钩并验证您的请求.
看到:
| 归档时间: |
|
| 查看次数: |
2223 次 |
| 最近记录: |