我有一个包含3个子域的Symfony2应用程序:
%domain%参数是:domain.com
我设置了这样的路由:
domain_app:
resource: "@DomainAppBundle/Controller/"
type: annotation
prefix: /
host: "app.%domain%"
domain_api:
resource: "@DomainApiBundle/Controller/"
type: annotation
prefix: /
host: "api.%domain%"
domain_front:
resource: "@DomainFrontBundle/Controller/"
type: annotation
prefix: /
host: "%domain%"
fos_user:
resource: "@FOSUserBundle/Resources/config/routing/all.xml"
host:"%domain%"
安全性如下:
firewalls:
main:
pattern: ^/
host: "%domain%"
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
always_use_default_target_path: false
default_target_path: front
logout:true
anonymous:true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
- { path: ^/, roles: ROLE_USER, host: "app.%domain%" }
- { path: ^/, roles: ROLE_USER, host: "api.%domain%" }
我的子域名应用和api的安全性就像我想要的http://domain.com/login完美无缺。
但如果直接加载http://app.domain.com时我没有记录,我会被重定向到 http://app.domain.com/login。 我不想在子域上重定向,如果没有仅在主http://domain.com/login上记录,我希望防火墙重定向
有人可以帮助我吗?
谢谢;)
答案 0 :(得分:1)
您只需覆盖登录路由并在主安全配置中使用该路由。不要忘记将主机partemerter添加到新的登录路径。我认为这个答案可以帮到你: