我正在使用多个子域的应用程序:
{用户名} .domain.com
等等。
我正在使用FOSUserBundle来处理我的用户,我想知道如何强制用户只能在主.domain.com上登录。
例如,当用户尝试访问管理时,请将其重定向到http://domain.com/login而不是http://admin.domain.com/login。
我在想某个地方的LoginListener,但我不知道在哪里可以创建它以及如何覆盖登录过程。
任何想法? 谢谢!
答案 0 :(得分:3)
向您的登录路线添加主机指令。
# app/config/routing.yml
login_route:
path: /login
host: "domain.com"
然后在防火墙配置中使用此路由作为login_path
:
# app/config/security.yml
security:
# ...
firewalls:
your_firewall_name:
# ...
form_login:
login_path: login_route
# ...
现在每次生成login_route
的网址时,它都会自动引用主机domain.com
。