2009-10-19 79 views
0

我有幾個預先存在的應用程序,需要在「一個」應用程序中運行。一個是我想用於認證等的應用程序,另一個是包含所有業務邏輯的另一個應用程序。將兩個Rails應用程序合併爲一個

這兩個應用程序都具有預先存在的身份驗證,並且都具有相當複雜的用戶模型。

是否可以輕鬆地組合這些,這樣如果我登錄到一個應用程序並創建一個用戶,那麼相同的數據在另一個應用程序中可用 - 或者類似的東西?

這樣做的最簡單方法是什麼?一個rails模型可以擴展一個REST webservice嗎?

+0

這可以通過OAuth完成,但它不是微不足道的。 – 2009-10-19 22:30:17

回答

1

您可以使用新的(ish)引擎功能將一個應用程序嵌入到另一個應用程序中。您的引擎位於供應商/插件中,可以擁有自己的所有路由和配置,就像普通的rails應用程序一樣,但實際上共享數據庫。使組合應用程序變得非常簡單。我們將它與git子模塊結合使用,可以無縫地管理複雜的應用程序。

+0

一個問題是,你將不得不復制公共/文件。如果你使用引擎的插件,你不會有這個問題。 – andHapp 2009-10-25 15:41:14

+0

很好的例子是清除寶石 - http://github.com/thoughtbot/clearance – andHapp 2009-10-25 15:42:38

0

我會使用warden(或構建它)來進行身份驗證。守望者是基於機架的,因此可以在兩種應用程序中使用,即單點登錄。