2015-05-29 69 views
0

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

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

回答

-1

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

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

然后,你需要通过这个national_domain参数在每一个URL生成。我认为你可以写一些自动执行的侦听器。

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

为Symfony单点登录的实现之一,你可以找到here

+0

我有问题的cookie,它与路由无关。 – ghostika

+0

好的。这是另一个问题。您需要单点登录功能。你可以使用这个包:https://github.com/treehouselabs/FMSingleSignOnBundle –

+0

在我发布这个问题之前,我花了3个小时的时间,但我无法得到它的工作。如果你有一个工作示例,我很高兴看到它,因为该文档对于该捆绑包非常不利(他们甚至没有写过我需要更新我的DB),我甚至都没有看到该实现如何工作。 – ghostika

相关问题