2010-07-07 47 views
4

我構建了一個Grails應用程序,該應用程序具有多個相同的代碼但具有不同的設計和配置的類似網站(每個網站都有自己的域名)。 (想起博主)Grails - 多個域名,相關網站

什麼是使用不同視圖甚至一些不同的邏輯在一個應用程序沒有太多黑客攻擊的最佳方法?

我是新來的Grails,我記住的方法是檢查所有的時間,看看域名是什麼,並提供正確的控制器/視圖。有沒有更好的辦法?

+0

我實際上是在考慮問昨天幾乎相同的問題。如果您測試了MultiTenant插件,您是否想介紹一下您的體驗?我知道它在插件頁面上說它處於alpha狀態,claes表示它只與1.2兼容,所以現在對我來說不是一個可行的選項,但我很想知道它是如何實現的(如果它不是太麻煩) 。 – proflux 2010-07-07 13:39:55

+0

如果我將使用它,我會在這裏更新。但我對同樣的問題有點擔心,我需要它來建立一個高流量的生產網站,所以......我不知道是否使用它。 – cripox 2010-07-07 17:58:40

+0

許多Grails插件並不是您的需求的「開箱即用」解決方案。但是,如果需要,它們很容易解壓縮並檢查,修改或增強。我建議你花幾個小時深入研究源代碼,而不是從頭開始開發一些東西。看看這裏... http://grails.1312388.n4.nabble.com/Support-for-multi-tenant-in-grails-1-3-1-td2277982.html ... ...插件的狀態,也許你可以幫助一旦你掌握了它。如果我開始使用這個插件,我可能也會如此:-) – wwwclaes 2010-07-07 19:04:09

回答

2

我會去與MultiTenant plugin。你提到的觀點和邏輯有所不同,但我猜測最不同的是數據?使用MultiTenant爲每個站點清理分離數據,而不需要太多的hazzle,並且如果您將視圖和邏輯的配置存儲在數據庫中,那麼您也可以獲得每個站點的唯一性。

我認爲MultiTenant正在更新到最新的Grails版本,至少我見過在Grails郵件列表中提到的那個。我認爲你需要在此之前使用1.2版本。

我正在做一些類似於使用Hibernate Filter插件的單獨數據。我的觀點相同,但我通過首先查找消息「SITE-A.hello.world」獲得了每個站點的文本和消息,如果未找到,則會檢索默認消息「hello.world」。只是想給你一個想法如何定製視圖,雖然你可能需要比你的系統更進一步......

+0

這正是我所期待的。謝謝。 – cripox 2010-07-07 13:23:23