【问题标题】:One Symfony app with multiple domain一个具有多个域的 Symfony 应用程序
【发布时间】:2015-05-29 11:31:49
【问题描述】:

我有一个 Symfony2 应用程序,仅在一台服务器上,但由于它是国际化的,我有多个域名(不是子域)。 我想要实现的是,如果用户更改他的语言,我会重定向到不同的主机,并且用户应该已经在另一个语言环境中登录。

我有 2 个独立的域,例如 book.com 和 buch.de 。 最初的问题,用户登录到 book.com,在那里他将语言更改为德语,所以我想将他重定向到 buch.de,但是由于另一个域,用户将获得一个新的 cookie,并且他不会被登录没有了。

【问题讨论】:

    标签: php symfony


    【解决方案1】:

    您需要在路由配置中使用host 参数:

    homepage:
        path:     /
        host:     "example.{national_domain}"
        defaults: { _controller: AcmeDemoBundle:Main:Homepage }
    

    然后你需要在每个 URL 生成中传递这个national_domain 参数。我认为您可以编写一些自动执行此操作的侦听器。

    要在域之间“共享”cookie,您需要一个作为主域的域并进行单点登录。它将包含所有需要的 cookie,您将能够使用一些包含所有需要信息的 GET 参数将用户从这个主域重定向到国家域。

    您可以找到 here 的 Symfony 单点登录实现之一。

    【讨论】:

    • 我的cookie有问题,与路由无关。
    • 好的。这是另一个问题。您需要单点登录功能。你可以使用这个包:github.com/treehouselabs/FMSingleSignOnBundle
    • 在我发布这个问题之前,我花了大约 3 个小时来处理那个捆绑包,但我无法让它发挥作用。如果您有一个可行的示例,我会很高兴看到它,因为该捆绑包的文档非常糟糕(他们甚至没有写我需要更新我的数据库)我什至看不到该实现将如何工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多