2015-05-29 58 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

相關問題