SecurityVoter에 대한 질문입니다.오브젝트 대신 클래스를 기반으로하는 SecurityVoter
심포니 2.6을 사용하면 사용자가 개체에 대한 구체적인 권한이 있는지 확인하는 간단한 보안 유권자를 만들 수 있습니다 작동
protected function isGranted($attribute, $object, $user = null)
{
switch ($attribute) {
case self::VIEW:
return $object->getAuthor() === $user;
case self::EDIT:
return $object->getAuthor() === $user && time() - $object->getAddedAt()->getTimestamp() <= TicketMessage::PERMIT_EDIT_GAP;
default:
return false;
}
}
합니다. 하지만 객체 대신 클래스를 기반으로 속성을 검사하려면 어떻게해야합니까? 예를 들어, 현재 존재하지 않는 새 오브젝트를 작성하기위한 '작성'권한.
코드 샘플 :
is_granted('create', 'AppBundle\Entity\MyEntity')
나 :
is_granted('create', 'AppBundle:Entity')
그렇게 할 수있는 방법이 있나요?
감사합니다.
유권자의 행동 방식을 잘 모르겠다 - 권한을 확인하기 위해 뭔가가 필요합니다. 최악의 경우 값없이 객체의 새 버전을 인스턴스화하여 사용할 수 있습니까? –
이 예를 빈 객체 인스턴스와 연결하기 시작했습니다. 하지만 나뭇 가지에이 뚜껑도 확인해야합니다. 템플릿에이 객체가 없습니다 ... – Soullivaneuh
사용자가 수업에서 할 수있는 것에 대한 정보는 어디서 가지고 있습니까? – Hpatoio