Symfony 2仅在主域上登录 [英] Symfony 2 Login on main domain only
问题描述
我正在使用多个子域的应用程序:
I am working on a application using multiple subdomains :
- .domain.com
- admin.domain.com
-
{username} .domain.com
- .domain.com
- admin.domain.com
{username}.domain.com
,依此类推.
我正在使用FOSUserBundle处理我的用户,我想知道如何强制用户仅在主.domain.com上登录.
I am using the FOSUserBundle to handle my users and I am wondering how I could force users to login only on the main .domain.com.
例如,当用户尝试访问管理时,将其重定向到 http://domain.com/login 代替 http://admin.domain.com/login .
For example, when a user is trying to access the administration, redirect him to http://domain.com/login instead of http://admin.domain.com/login.
我当时在想一个LoginListener,但是我不知道在哪里可以创建它以及如何覆盖登录过程.
I was thinking about a LoginListener somewhere, but I have no idea where I could create it and how to override the login process.
任何想法? 谢谢!
推荐答案
将主机指令添加到您的登录路由.
Add a host directive to your login route.
# app/config/routing.yml
login_route:
path: /login
host: "domain.com"
然后在防火墙配置中将此路由用作login_path
:
Then use this route in your firewall configuration as the login_path
:
# app/config/security.yml
security:
# ...
firewalls:
your_firewall_name:
# ...
form_login:
login_path: login_route
# ...
现在,每次生成login_route
的url时,它都会自动引用主机domain.com
.
Now everytime the url for login_route
is generated it automatically refers to the host domain.com
.
这篇关于Symfony 2仅在主域上登录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!