ruby-on-rails – 在Ruby on Rails中,authenticate_with_http_basic做什么?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 在Ruby on Rails中,authenticate_with_http_basic做什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Restful身份验证使用authenticate_with_http_basic,但在网上搜索可以找到许多没有描述的页面.在官方 http://api.rubyonrails.org/,也可以找到,除了没有描述,没有评论,没有规格.

它有什么作用?似乎能够使用来自HTTP请求的login_name和密码,然后可以将它们与users表中的login_name和encrypted_pa​​ssword进行比较…但是这样,为什么甚至不存在一行描述?

解决方法

方法允许您实现基本的http身份验证(弹出一个对话框,请求用户名和密码).通常是限制访问开发站点或管理区域的好方法.例如:
class AdminController < ApplicationController
  before_filter :authenticate

  def authenticate
    authenticate_or_request_with_http_basic('Administration') do |username,password|
      username == 'admin' && password == 'password'
    end
  end
end

功能将请求基本的http身份验证用户名和密码,或者输入后,实际上会检查验证是否正确.换句话说,这个函数调用authenticate_with_http_basic或者它将调用request_http_basic_authentication.你可以阅读更多关于它,并看到更多的例子here.你通常会调用authenticate_or_request_with_http_basic,而不是调用authenticate_with_http_basic或request_http_basic_authentication,因为前一个函数将适用于后者功能.

P.S:authenticate_with_http_basic不使用POST变量,它使用头信息来获取用户名和密码(request.env [‘HTTP_AUTHORIZATION’]).您可以查看有关授权功能here的更多信息.

猜你在找的Ruby相关文章