部署新站点后,我收到了一个非常奇怪的问题。在生产服务器上忽略Symfony2子域防火墙
该网站使用登录后的shop.domain.tld。在security.yml我在我的防火墙和access_control list
中定义了一个主机参数。
本地(Vagrant)它工作的很好,但在线防火墙似乎被忽略。
firewalls:
admin_secured_area:
pattern: ^/admin
anonymous: ~
form_login:
login_path: admin_login
check_path: admin_authenticate
provider: entity_admin
logout:
path: admin_logout
target: /admin
shop_secured_area:
pattern: ^/
host: .%domain%
anonymous: ~
form_login:
login_path: homa_shop_login
check_path: shop_authenticate
provider: entity_user
logout:
path: shop_logout
target:/
validate:
pattern: ^/validate
security: false
access_control:
- { path: ^/admin/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin, roles: ROLE_ADMIN }
- { path: ^/_wdt, roles: 'IS_AUTHENTICATED_ANONYMOUSLY' }
- { host: .%domain%, path:^/nl/contact, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { host: .%domain%, path:^/cart/quantity, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { host: .%domain%, path:^/validate, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { host: .%domain%, path:^/register, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { host: .%domain%, path:^/register/newcontact, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { host: .%domain%, path:^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { host: .%domain%, path:^/forgot/password, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { host: .%domain%, path:^/, roles: ROLE_USER }
%domain%
在parameters.yml设置为使用domain.tld
的子域的路由正在像预期,只有防火墙被忽略。
有什么想法?
如何定义'%domain%'? (这只是为了检查声明没有错误) – 2014-12-15 12:40:30