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 を変更すると、あるスレッドからのリクエストが別のスレッドで同時に実行されているユーザーの認証を使用して、あるスレッドからのリクエストが突然開始されるという競合状態が発生しますか? または、レールサーバーはマルチスレッド化されていないため、(リクエスト間の認証をリセットする限り) これは問題ではありませんか?
スレッド セーフの問題がなくても、リセットに失敗すると、以前のユーザーの資格情報が将来の要求で自動的に使用されるという危険性が依然としてあります。
更新: ActiveResource に不満を感じた後、独自の REST ライブラリを作成しました: https://github.com/DeepWebTechnologies/well_rested