我一直在学习Symfony文档中的"如何使用表单事件动态修改表单"教程,目的是为体育俱乐部网站构建超级用户页面。给出一些观点:
-
该网站有两个页面,用户和超级用户都可以编辑:"家长详细信息"、"学生详细信息"
-
该网站有两个页面,用户可以查看,超级用户可以编辑:"付款"answers"竞争结果"
-
超级用户可以访问数据库中对普通用户隐藏的一些额外字段(例如关于付款状态的文本评论和关于家长/学生的注释)
我正在尝试将超级用户页面与每个页面导航栏中的选择框放在一起,以便超级用户可以选择他们所在页面的常规用户,并在他们想要模拟和更新的用户之间快速切换。
然而,我想检查一下这是正确的方式,还是错误的方式(例如,我现在想知道我是否应该通过会话管理和FOSUserBundle来管理这件事?)
更新:只是为了清楚起见
当超级用户"模拟"普通用户时,菜单中的选择框/选项仍然应该只返回与该用户相关的值(例如,他们在俱乐部的孩子/孩子的名字以及他们参加的每项运动的时间表)
在Symfony 3 Doc中创建ACL的更好方法。http://symfony.com/doc/current/cookbook/security/acl.html
请参阅Symfony 2
答案:
Symfony2:在数据库中存储用户、角色、角色层次结构和访问控制
ACL示例GitHub报告:
https://github.com/GoDisco/AclTreeBundle
https://github.com/wemakecustom/symfony-acl-bundle