Полагаю, я правильно понял ваш вопрос.
Если вы хотите предоставить доступ к ресурсам / действиям на основе IP-адреса запрашивающей стороны и / или любых других условий (например, пользователь loggedIn + hasIP + ...). Попробуйте проверить избирателей:
, вам нужно будет сделать собственного избирателя, зарегистрируйте его в служебном контейнере, а затем, основываясь на IP-адресе пользователя и пользователя (возьмите его из request_stack), ваш избиратель позволит пользователю выполнить действие.
Обратите внимание, что в контроллере вам не нужно ничего реализовывать : кроме добавления либо аннотации @security с требуемым определением роли, либо заполнения security.yml (в зависимости от конфигурации проекта), все маги c будут происходить на уровне безопасности.