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