机架中间件,是不是要求对/ assets进行请求?

时间:2011-08-24 02:07:08

标签: ruby-on-rails ruby-on-rails-3 rack middleware

我正在尝试构建一个可以根据条件限制访问的中间件。我注意到我无法控制作为/ assets的请求.....

有没有办法让中间件被调用,以便你可以进行访问控制?

现在

http://localhost:3000/assets/unauthorized-028be791049e981f9aa0b7da383195e1.js

不会出现在日志中并以某种方式绕过我的Rack.middleware。

想法?感谢

1 个答案:

答案 0 :(得分:0)

您的资产几乎肯定不会被生产中的rails应用程序解决,相反,nginx或apache将为它们提供服务,因此即使您使用开发机器的中间件来拦截资产调用,也不能依赖于它在生产中发生。

你应该提供你需要直接从控制器动作限制的资产(一种丑陋但简单的解决方案),或者使用类似S3的东西,它会为你提供精细控制,而不是谁可以访问它们。