Извините за мой английский ...SonataAdminBundle и ACL класса сферы применения права
В моем проекте я использую ACL с SonataAdminBundle, но я не могу понять, почему они сделали так, что вам нужно иметь, чтобы создать запись в базы данных, даже если я хочу использовать только класс-область без Object-scope.
Кроме того, когда вы создаете, например, комментарии, SonataAdminBundle автоматически создает запись в acl_object_identities, она загромождает эту базу данных действий.
Я создал роль, которая имеет право на полный доступ ко всем записям в таблице, независимо от того, кто создал записи, но SonataAdminBundle отображает их только и запрещает их редактирование. Документация SonataAdminBundle гласит:
, поскольку разрешение объекта ACL установлено, ACL для объекта должны быть созданы, в противном случае AclVoter запретит доступ EDIT для не суперпользователя администратора пытается изменить еще не супер администратор пользователь. Это делается автоматически, когда объект создается с помощью администратора . Если объекты также создаются вне Admin, посмотрите на метод createSecurityObject в AclSecurityHandler.
Но почему? Как этого избежать?
Не хотите писать крючки.
Благодарим вас за любые комментарии и помощь по этому вопросу.
в настоящее время заменен сервис "security.acl.voter.class", инвалидов JMSSecurityExtraBundle() и написано крюк если (нуль! == $ this-> Регистратор) { $ this-> logger-> debug ('Нет идентификатора ACL для идентификатора объекта. Голосование, чтобы запретить доступ.'); } // return self :: ACCESS_DENIED; // hook fixme return self :: ACCESS_GRANTED; –