Active Resource 可以使用在类级别设置的 HTTP 身份验证。例如:
class Resource < ActiveResource::Base
end
Resource.user = 'user'
Resource.password = 'password'
或者
Resource.site = "http://user:password@site.com/"
但是,如果我根据登录的用户使用不同的 HTTP 身份验证呢?如果我更改 Resource.user 和 Resource.password,这是否会导致竞争条件,即来自一个线程的请求突然开始使用请求同时在不同线程中运行的用户的身份验证?或者这是一个非问题(只要我重置请求之间的身份验证),因为 Rails 服务器不是多线程的?
即使没有线程安全问题,如果我未能重置它们,以前用户的凭据将被未来的请求自动使用,这似乎仍然存在风险。
更新:在对 ActiveResource 感到沮丧之后,我编写了自己的 REST 库: https ://github.com/DeepWebTechnologies/well_rested