【问题标题】:Testing basic HTTP authenticated request in Merb在 Merb 中测试基本的 HTTP 身份验证请求
【发布时间】:2009-01-21 22:44:23
【问题描述】:

The Merb Open Source Book 有一个chapter on authentication。但是,testing an authenticated request section 示例仅显示了您可以对基于表单的身份验证执行哪些操作。我有一个要使用 HTTP 基本身份验证测试的 Web 服务。我该怎么做?

【问题讨论】:

    标签: ruby merb merb-auth


    【解决方案1】:

    发布我的问题后,我尝试了更多的东西并找到了自己的答案。您可以执行以下操作:

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

    我可能会花时间更新这本书,但至少这些信息可供 Google 查找并可能帮助其他人。

    【讨论】:

      【解决方案2】:

      以下是控制器内部 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
      

      【讨论】:

        猜你喜欢
        • 2017-07-23
        • 1970-01-01
        • 2016-09-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-04
        相关资源
        最近更新 更多