Symfony 2 Безопасность входа с IP
У меня есть правило брандмауэра, которое вместе с аннотациями разрешает доступ только к действиям конкретного пользователя.
Кроме того, я хотел бы заблокировать ЛЮБОЙ вход в систему, если он не приходит из определенной сети. В поисках решения я наткнулся на дополнительные правила access_control, следующие за этимруководство.
Проблема там, если я ограничиваю свою страницу входа через IP-правила. Я всегда получаюERR_TOO_MANY_REDIRECTS
ошибка, если кто-то пытается достичь этого. Я бы предпочел иметь сообщение «Страница не найдена», чтобы даже не дать кому-то извне осознать, что может быть любой логин.
Как я могу сделать это с Symfony?
security.yml:
security:
...
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
default:
form_login:
provider: fos_userbundle
login_path: /login
use_forward: false
logout: true
anonymous: true
access_control:
- { path: ^/logout$, role: ROLE_ADMIN }
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https, ips: [127.0.0.1, fe80::1, ::1]}
- { path: ^/login$, roles: ROLE_NO_ACCESS }
- { path: ^/admin, role: ROLE_ADMIN, requires_channel: https}