【发布时间】:2014-11-18 03:09:32
【问题描述】:
我有一个带有 3 个子域的 Symfony2 应用程序:
- 域名.com
- app.domain.com
- api.domain.com
%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%" }
http://domain.com/login 完美运行,我的子域应用程序和 api 得到了安全保障。
但是如果我在直接加载http://app.domain.com 时没有登录,我会被重定向到 http://app.domain.com/login。 我不想在子域上重定向,我希望防火墙重定向,如果不只登录主http://domain.com/login
谁能帮我解决这个问题?
谢谢 ;)
【问题讨论】:
标签: php symfony fosuserbundle