Symfony 2 Protegendo o Login com IP
Eu tenho uma regra de firewall que, juntamente com anotações, permite apenas o acesso a ações como usuário específico.
Além disso, eu adoraria bloquear QUALQUER login, se não vier de uma determinada rede. Procurando uma solução, encontrei regras adicionais de access_control após estaguia.
O problema é que, se eu restringir minha página de login via regras de IP. Eu sempre recebo umERR_TOO_MANY_REDIRECTS
erro se alguém tentar alcançá-lo. Eu preferiria ter uma mensagem "Página não encontrada" para nem fazer alguém de fora ciente de que poderia haver qualquer login.
Como posso fazer isso com o 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}