我们正在建立一个管理实习的应用程序(例如“实习第二医学大师”)。该应用程序正在Symfony2中构建。 我们的用户可以拥有一个或多个角色(例如,教练也可以是主管)。 以下示例中使用的角色是:
角色不限于上述角色。
我们拥有哪种权限的一些示例:
正如您所看到的,权限系统不仅限于具有特定角色的用户,还包括对实体具有特定权限的角色。有时它稍微复杂一些,权限仅限于数据子集。 请注意,我们每年将有大约5000名学生和4000名主管使用该应用程序。学生数据库每年将以1000 +增长。
我的问题:我们应该使用选民,ACL,两者的结合,......?有哪些优点和缺点?有没有陷阱?
欢迎任何建议!
答案 0 :(得分:2)
使用选民。 ACL组件has been extracted from Symfony core(Symfony 2.8 / 3.0),因为它没有被主动维护并且(太)复杂。
一切都可以与选民合作,现在是新项目的推荐方式。
答案 1 :(得分:0)
ACL过于复杂,就像凯文所说的那样,它将脱离symfony核心。选民是可行的方式,更加简单和强大。