SonataUserBundle 없이는 SonataAdminBundle 을 사용하고 있지만 FOSUserBundle 만 사용하고 있습니다. 이유는 Symfony 3를 사용하기 때문이며 SonataUserBundle은 거기서 작동하지 않습니다.소나타 관리자 용 역할
이제 24 개의 관리 서비스가 있습니다. 사용자가 새 사용자를 만들 수 없으며 다른 사용자의 프로필을 수정할 수 없도록 하나의 Admin 클래스 만 수정해야합니다. 수퍼 관리자 만이 그렇게 할 수 있습니다.
하지만 24 명의 관리자 역할을 이와 같이 작성해야한다는 의미입니까?
ROLE_OPTICKS_ACCESS:
- ROLE_SONATA_ADMIN_FOO_LIST
- ROLE_SONATA_ADMIN_FOO_VIEW
- ROLE_SONATA_ADMIN_FOO_CREATE
- ROLE_SONATA_ADMIN_FOO_EDIT
- ROLE_SONATA_ADMIN_FOO_DELETE
- ROLE_SONATA_ADMIN_FOO_EXPORT
그러면 security.yml에 약 144 줄의이 줄이 생깁니다. 그런 다음 ROLE_SONATA_ADMIN_USER_CREATE
과 ROLE_SONATA_ADMIN_USER_EDIT
이라는 두 줄을 제거한 다음 자신의 프로필 만 편집 할 수있는 방법을 찾아냅니다.
아무도 도와 드릴 수 있습니까? 이것을하는 것이 최선의 방법입니까? 내가 제대로하고 있니?
나는 이런 식으로 생각하고 있었기 때문에;
protected function configureRoutes(RouteCollection $collection)
{
$securityContext = $this->getConfigurationPool()->getContainer()->get('security.authorization_checker');
if (!$securityContext->isGranted('ROLE_SUPER_ADMIN')) {
$collection->remove('create');
$collection->remove('edit');
}
}
분명히 나는 잘못된 방향으로하고 있는데, 오류가 발생한다.
토큰 저장소에 인증 토큰이 없습니다. 가능한 한 이유는이 URL에 대해 구성된 방화벽이 없다는 것일 수 있습니다.
제발, 필사적으로 도움이 필요합니다.