顺便说一下,我用的是rails 3。
我如何使用devise的“典狱长”来验证与使用devise的rails应用程序相同的堆栈中的机架应用程序?
我的问题是当我这么说的时候:
request.env['warden'] # nil :(从机架堆栈上的另一个应用程序,我得到零!
我将dav4rack (webdav)通过config.ru集成到rails应用程序中。我在rails应用程序中使用了用于身份验证的设计。
当我试图从我的自定义dav4rack资源request.env'warden‘访问“典狱长”时,我得到的是零。如何使用典狱长在我的dav4rack资源中进行身份验证?
我使用的config.ru示例:
http://pastie.org/1240732
发布于 2010-10-22 15:34:17
在您的config.ru中,您的堆栈不使用典狱长。
如果您检查对“/”路径的请求,则可以在config.ru中立即使用Rack应用程序。典狱长的中间件是添加到Rails应用程序中。因此,就像您的机架应用程序调用任何其他机架中间件一样,您无法获得典狱长信息。
您需要在中间件管理员之后定义您的Rack应用程序。因为没有典狱长中间件,就没有典狱长的能力。
https://stackoverflow.com/questions/3998359
复制相似问题