我正在尝试构建一个可以根据条件限制访问的中间件。我注意到我无法控制作为/ assets的请求.....
有没有办法让中间件被调用,以便你可以进行访问控制?
现在
http://localhost:3000/assets/unauthorized-028be791049e981f9aa0b7da383195e1.js
不会出现在日志中并以某种方式绕过我的Rack.middleware。
想法?感谢
答案 0 :(得分:0)
您的资产几乎肯定不会被生产中的rails应用程序解决,相反,nginx或apache将为它们提供服务,因此即使您使用开发机器的中间件来拦截资产调用,也不能依赖于它在生产中发生。
你应该提供你需要直接从控制器动作限制的资产(一种丑陋但简单的解决方案),或者使用类似S3的东西,它会为你提供精细控制,而不是谁可以访问它们。