Rails 3作为Rack中间件

时间:2010-03-30 21:12:56

标签: ruby-on-rails rack middleware

由于Rails完全符合Rack,因此我想要设置一个Rackup文件,以便Rails应用程序只是一个中间件,然后请求可以在中间件堆栈中进一步击中另一个应用程序。

我真正想要的是使用Rails应用程序来处理中间件堆栈中较小的机架应用程序的身份验证和授权,这是否可以使用Rails 3?

2 个答案:

答案 0 :(得分:1)

在机架中,中间件和应用程序之间存在区别。你可以拥有一大堆中间件,但最后只有一个应用程序。所以你不能完全按照你的要求去做。

但是,您可以在rails应用程序和其他机架应用程序之间共享中间件。用于身份验证的良好中间件的一个示例是Warden

答案 1 :(得分:1)

在Rails 3下,您可以选择从Rails应用程序路由到Rack应用程序。

http://guides.rubyonrails.org/routing.html#routing-to-rack-applications

您可以编写它,以便您的身份验证/授权rails应用程序只定义了一些到您的机架应用程序的路径。

match "/app1" => RackApp1
match "/app2" => RackApp2