컨트롤러 작업이 있습니다 (컨트롤러의 $this->securityContext
은 $this->get('security.context')
으로 설정 됨). JMSDiExtraBundle) : 나는 dev
환경에 로그인하여 프로파일을 검사 할 때
$user = $this->securityContext->getToken()->getUser();
$groupRepo = $this->getDoctrine()->getRepository('KekRozsakFrontBundle:Group');
if ($this->securityContext->isGranted('ROLE_ADMIN') === false) {
$myGroups = $groupRepo->findByLeader($user);
} else {
$myGroups = $groupRepo->findAll();
}
, 나는 내가 ROLE_ADMIN
역할을 부여한 것을 볼 수 있습니다,하지만, 난 여전히 그룹의 필터링 된 목록을 얻을.
내 컨트롤러에 디버깅 코드를 넣었으며 Symfony의 RoleVoter.php
을 넣었습니다. 내 컨트롤러의 토큰 문자열 표현 ($this->securityContext->getToken()
)과 RoleVoter.php
의 문자 표현은 동일하지만, $token->getRoles()
을 사용하면 두 개의 다른 배열을 얻습니다.
내 사용자 및 역할은 사용자 및 역할 엔티티를 통해 데이터베이스에 저장됩니다. 이 버그는 제가 발견 한 버그입니까, 아니면 제가 잘못하고있는 버그입니까?
1 : – Khez