我需要为Symfony 4应用程序实现用户权限系统。 所有权限和可能的方法调用都存储在单独的数据库表中,并且还有一个交叉引用表,该表确定每个用户可以执行哪些CRUD操作。 到目前为止,我将使用Symfony的表决器系统,但是我不确定是否可以构建一个全局表决器,该表决器仅对通过的给定方法调用采用一个属性(例如“ EDIT”)以选民阶级为主体? 我想做一些类似于以下控制器类的事情:
$this->denyAccessUnlessGranted('CREATE', 'METHOD_A');
在symfony文档中,建议为每个实体创建一个投票者。但是由于我应用程序的当前体系结构(支持外部插件,其他开发人员可以扩展它等),我无法预测将来会安装哪些实体,因此无法为未知实体创建投票者。
所以我想知道是否可以使用全局选民来处理这些权限检查吗?