rails接口验证:HTTP Basic Access Authentication
程序员文章站
2022-07-05 13:46:23
...
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
上一篇: 在CorelDRAW中如何焊接对象?