Symfony 2仅在主域登录

时间:2013-11-28 03:08:45

标签: php symfony login fosuserbundle subdomain

我正在使用多个子域的应用程序:

  • .domain.com
  • admin.domain.com
  • {用户名} .domain.com

    等等。

我正在使用FOSUserBundle来处理我的用户,我想知道如何强制用户只能在主.domain.com上登录。

例如,当用户尝试访问管理时,请将其重定向到http://domain.com/login而不是http://admin.domain.com/login

我在想某个地方的LoginListener,但我不知道在哪里可以创建它以及如何覆盖登录过程。

任何想法? 谢谢!

1 个答案:

答案 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