如何使用Deaise的“ Warden”与使用Deaise的Rails应用程序相同的堆栈中验证机架应用程序?
-
10-10-2019 - |
题
顺便说一句,我正在使用Rails 3。
如何使用Deaise的“ Warden”来验证与使用Deaise的Rails应用程序中同一堆栈中的机架应用程序?
我的问题是,当我打电话给我时:
request.env['warden'] # nil :(
从机架堆上的另一个应用程序中,我得到了零!
我通过config.ru将DAV4RACK(WebDAV)集成在我的Rails应用程序中。我在铁轨应用程序中使用设计进行身份验证。
当我尝试从自定义DAV4RACK资源访问“监狱长”时,request.env ['Warden']我得到了零。我如何使用看守在我的DAV4RACK资源中进行身份验证?
config.ru i使用的示例:
解决方案
在您的config.ru中,您的堆栈不使用监狱长。
如果您检查到“/'路径的请求,则在config.ru中使用立即的机架应用程序。监狱长中间限制了Rails应用程序。因此,就像您的机架应用程序调用其他任何其他机架中间件一样,您无法获得监狱长信息
您需要在中间件监狱长之后定义机架应用程序。因为没有看守中间件,就没有任何监狱员能力。
不隶属于 StackOverflow