Symfony 2仅在主域上登录 [英] Symfony 2 Login on main domain only

查看:49
本文介绍了Symfony 2仅在主域上登录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆