Как только я установил sonata_admin.security.handler
в sonata.admin.security.handler.acl
, единственным пользователем, имеющим доступ, является ROLE_SUPER_ADMIN. I думаю Я настроил все правильно, очевидно, нет.AclVoter отказывает в доступе к «LIST»
Я пробовал:
- , чтобы дать пользователю реальную роль
ROLE_VIP_CONTACT_ADMIN
вместо назначения на fos_group, не увенчались успехом. - всех варианты
security.access_decision_manager.strategy
: утвердительные, консенсуса и единодушного - удалить все аКЛа таблицу, ACL: первонач, соната: админ: установка-Acl, и без сонаты: администратор: создание объектно-ACL и очищается кэш каждый раз.
Не имеет успеха.
# Acme\MyBundle\Controller\CRUDController.php
$securityContext->getAdminPermissions();
# -> ["CREATE", "LIST", "DELETE", "UNDELETE", "EXPORT", "OPERATOR", "MASTER"]
dump($this->admin->getSecurityInformation());
/* -> array:3 [▼
"GUEST" => array:2 [▼
0 => "VIEW"
1 => "LIST"
]
"STAFF" => array:3 [▼
0 => "EDIT"
1 => "LIST"
2 => "CREATE"
]
"ADMIN" => array:3 [▼
0 => "MASTER"
1 => "OPERATOR"
2 => "EXPORT"
]
] */
dump($this->getUser()->getRoles());
/* -> array:15 [▼
0 => "ROLE_ADMIN"
1 => "ROLE_VIP_CONTACT_GUEST"
2 => "ROLE_VIP_CONTACT_STAFF"
3 => "ROLE_VIP_CONTACT_ADMIN" # <--- I gave him everything!
[...]
9 => "ROLE_ALLOWED_TO_SWITCH"
[...]
16 => "ROLE_USER"
] */
Теперь я открываю браузер и перейти на app_dev.php/my-path-to/vip/contact/list
, в результате AccessDeniedException.
/изменить: Это та же проблема, что и здесь ACL + SonataAdminBundle + SonataUserBundle.