2009-10-19 40 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(或构建它)来进行身份验证。守望者是基于机架的,因此可以在两种应用程序中使用,即单点登录。