2009-01-21 50 views

回答

0

发布我的问题后,我尝试了更多的东西,并找到了我自己的答案。你可以像下面的内容:

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

我可以避开更新的书,但至少这是信息这里谷歌找到,并可能帮助别人。

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 

你需要在配置/ router.rb定义merb_auth_slice,如果它不是已经替您完成:

Merb::Router.prepare do 
    slice(:merb_auth_slice_password, :name_prefix => nil, :path_prefix => "") 
end