/ / Rails 3 as Rack middleware - Ruby-on-Rails, rack, middleware

Rails 3 as Rack middleware: rubí sobre rieles, rack, middleware

Ya que Rails es totalmente compatible con Rack I wasvagando por cómo configuraría un archivo de rackup para que una aplicación de Rails sea solo una pieza de middleware y luego una solicitud podría golpear a otra aplicación más abajo en la pila de middleware.

Lo que realmente quiero es usar una aplicación Rails para manejar la autenticación y autorización de aplicaciones de rack más pequeñas más adelante en la pila de middleware, ¿es esto posible con Rails 3?

Respuestas

1 para la respuesta № 1

En el rack hay una distinción entre middleware y una aplicación. Puedes tener una pila completa de middleware, pero solo hay una aplicación al final. Así que no puedes hacer exactamente lo que estás pidiendo.

Sin embargo, puede compartir middleware entre una aplicación de Rails y otras aplicaciones de rack. Un ejemplo de buen middleware para la autenticación es Guardián.


1 para la respuesta № 2

Bajo Rails 3 tiene la opción de enrutar a las aplicaciones Rack desde su aplicación Rails.

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

Podría escribirlo de tal manera que su aplicación de rieles de autenticación / autorización acaba de definir algunas rutas para sus aplicaciones de rack.

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