0

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

4

2 に答える 2

0

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

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

私は本を​​更新するかもしれませんが、少なくともこの情報は Google が見つけて他の誰かを助けるためにここにある.

于 2009-01-21T23:06:34.110 に答える
0

コントローラー内からの 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
于 2009-01-22T01:37:13.510 に答える