Почему вам нужно использовать безопасность false в тестовой среде.Если вы сделаете это и используете denyAccessUnlessGranted () в своем приложении, вы получите упомянутый вами результат.Чтобы исправить это, вы должны использовать ведьму try catch, у вас есть 2 варианта, ни один из которых не является хорошим.
denyAccessUnlessGranted бросает 2 типа o исключений, которые вам нужно поймать
- \ LogicException
- AuthenticationCredentialsNotFoundException
И это две упомянутые мной опции:
вы подавляете исключения и позволяете сценарию работать какничего не случилось.Если вы сделаете это, вы не будете тестировать конфигурацию безопасности вашего приложения, и, что еще хуже, если вы возьмете этот код, который подавляет исключения, в вашу производственную среду, из-за некоторой ошибки производственной конфигурации вы можете оставить защищенные области незащищенными.
Вы бросаете AccessDeniedException, когда вы ловите эти исключения.Это предотвратит доступ к областям в случае плохой конфигурации в производственной среде вашего приложения, но это сделает эти части приложения недоступными в тестовой среде, и я не думаю, что вы этого хотите.
Компонент безопасности приложения является такой же частью ваших приложений, как и любая другая бизнес-функция.Он должен быть активен в любой среде и настроен одинаково.Единственное различие между вашей средой тестирования, разработки или разработки должно заключаться в файле параметров (например, где хранятся пользователи).
Надеюсь, это поможет, Александру Косой