Haben Sie the documentation for ACL vollständig befolgt? Sie sollten Ihre sonata_admin-Konfiguration und security.yml
nur hinzufügen, um sicher zu sein. Mine wie folgt aussieht:
sonata_admin:
# ...
security:
handler: sonata.admin.security.handler.acl
# acl security information
information:
LIST: [LIST]
GUEST: [VIEW, LIST]
STAFF: [LIST, CREATE]
EDITOR: [OPERATOR, EXPORT, EDIT]
ADMIN: [MASTER]
admin_permissions: [CREATE, LIST, DELETE, UNDELETE, EXPORT, OPERATOR, MASTER]
# permission related to the objects
object_permissions: [VIEW, EDIT, DELETE, UNDELETE, OPERATOR, MASTER, OWNER]
Auch Ihre gewährleisten security.yml
die erforderliche Konfiguration:
security:
# ...
providers:
fos_userbundle:
id: fos_user.user_manager
acl:
connection: default
access_decision_manager:
strategy: unanimous
Und ein PermissionMap zu Ihrem app/config/parameters.yml
oder Bündel Parameter hinzu:
# src/AppBundle/Resources/config/services.yml
parameters:
# ...
# Symfony 3 and above
security.acl.permission.map:
class: Sonata\AdminBundle\Security\Acl\Permission\AdminPermissionMap
# Symfony < 3
security.acl.permission.map.class: Sonata\AdminBundle\Security\Acl\Permission\AdminPermissionMap
Dann gibt es drei Befehle Sie müssen folgendes ausführen:
Initiali ze Ihren ACL-Setup (nur einmal)
php app/console init:acl
neu laden Änderungen an die Konfiguration (jede Änderung in der sonata_admin Konfigurationsdatei)
php app/console sonata:admin:setup-acl
To (neu) ACL-Regeln erzeugen für bereits bestehenden Entitäten/Objekte. (Jede Änderung in der sonata_admin Konfigurationsdatei)
php app/console sonata:admin:generate-object-acl
Dann, sobald die Konfiguration Setup, Logout und melden Sie sich wieder ein für die Rollen zu übernehmen.
es Ihnen danken! Ich habe eine Lösung gefunden, indem ich folgende Zeilen hinzugefügt habe: 'services: security.acl.permission.map: Klasse: Sonata \ AdminBundle \ Sicherheit \ Acl \ Permission \ AdminPermissionMap Parameter:' wie hier: http: // fkn. ktu10.com/?q=node/8737 – qwe
Oh, du hast Recht, ich habe eine ähnliche Zeile wie meine 'parameter.yml'. Total verpasst. Ich werde die Antwort mit Ihrer Eingabe bearbeiten. – Neodork