Избиратели Symfony: доступ запрещен
Это нормально, когда supports()
возвращается false
, это приводит Access Denied
? Согласно Доку, избиратель должен в конечном итоге получить поддержку, поэтому я предполагаю, что доступ должен быть предоставлен.
Voter:: support ($attribute, $subject)
Когда isGranted() (или denyAccessUnlessGranted()) вызывается, первый аргумент передается здесь как $attribute (например, ROLE_USER, edit), а второй аргумент (если есть) передается как $subject (например, null, объект Post). Ваша задача - определить, должен ли ваш избиратель голосовать за комбинацию атрибут / субъект. Если вы вернете true, будет вызываться voiceOnAttribute(). В противном случае ваш избиратель готов: это должен обработать другой избиратель. В этом примере вы возвращаете true, если атрибут является просмотром или редактированием и если объект является экземпляром Post.