server端:
参照:http://railscasts.com/episodes/82-http-basic-authentication
products_controller.rb
before_filter :authenticate
protected
def authenticate
authenticate_or_request_with_http_basic do |username, password|
username == "foo" && password == "bar"
end
end
client端:
参照:http://www.iteye.com/topic/341940
require'net/http'
require'base64'
url="http://api.iteye.com/api/auth/verify"
user="your_username"
password="your_password"
basic_str="Basic #{Base64.b64encode(user+":"+password)}"
url=URI.parse(url)
http=Net::HTTP.new(url.host,url.port)
resp=http.get(url.path,{"Authorization"=>basic_str})
puts resp.code
puts resp.body
post:
domain = 'localhost:3000'
url = "http://#{domain}/admin/login.json"
url = URI.parse(url)
req = Net::HTTP::Post.new(url.path)
req.basic_auth 'jack', 'pass'
req.set_form_data({'user_name' => 'zhangsan', 'password' => '123456'})
res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) }
case res
when Net::HTTPSuccess, Net::HTTPRedirection
puts res.body
else
res.error!
end
本文详细介绍了如何在服务器端和客户端实现HTTP基本身份验证。包括使用Rails应用的`before_filter`进行服务器端验证,以及使用Ruby和Net::HTTP库进行客户端验证。
1266

被折叠的 条评论
为什么被折叠?



