Merbでの基本的なHTTP認証リクエストのテスト
質問
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
所属していません StackOverflow