質問

The Merb Open Source Book には、認証に関する章。ただし、認証済みリクエストセクションのテストの例は、何ができるかを示しているだけです。フォームベースの認証。 HTTP基本認証でテストするWebサービスがあります。どうすればいいですか?

役に立ちましたか?

解決

質問を投稿した後、さらにいくつかのことを試してみて、自分の答えを見つけました。次のようなことができます:

response = request('/widgets/2222', 
                   :method => "GET", 
                   "X_HTTP_AUTHORIZATION" => 'Basic ' + ["myusername:mypassword"].pack('m').delete("\r\n"))

書籍の更新に取りかかるかもしれませんが、少なくともこの情報は、Googleが他の誰かを見つけて、おそらく誰かを助けるためにここにあります。

他のヒント

コントローラー内部からのHTTP基本認証の例を次に示します。

class MyMerbApp < Application
  before :authenticate, :only=>[:admin]

  def index
    render
  end

  def admin
    render
  end

  protected 

  def authenticate 
    basic_authentication("Protected Area") do |username, password| 
      username == "name" && password == "secret"  
    end 
  end

end

まだ行っていない場合は、 config / router.rb でmerb_auth_sliceを定義する必要があります:

Merb::Router.prepare do
  slice(:merb_auth_slice_password, :name_prefix => nil, :path_prefix => "")
end
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top