如何防止删除特定实体?

时间:2014-10-24 13:48:49

标签: symfony twig sonata-admin

我使用SonataAdminBundle对某些后端进行编码,我需要阻止用户删除特定实体。如何告诉Admin类防止删除特定实体?

为了说明这一点,请考虑用户 - 通常您不想删除自己的帐户或root帐户:)请注意,我希望列出这些实体 - 我只是不希望它们成为特定用户可删除。

1 个答案:

答案 0 :(得分:0)

如果要阻止某些用户删除实体,可以使用SonataAdminBundle中的权限。 例如,如果您想阻止用户删除实体TOTO,您只是不给他角色ROLE_NAMEOFYOURBUNDLE_ADMIN_TOTO_DELETE。

如果您想阻止所有用户删除此实体,您只需要覆盖configureRoutes方法:

    protected function configureRoutes(RouteCollection $collection) {
        $collection
            ->remove('delete');
    }