之间有什么区别
http_basic_authenticate_with()
和
authenticate_or_request_with_http_basic()
方法
感谢您的完整解释。
答案 0 :(得分:22)
从docs中我可以理解,http_basic_authenticate_with
充当接受名称和密码的前过滤器,例如
http_basic_authenticate_with :name => "dhh", :password => "secret", :except => :index
而authenticate_or_request_with_http_basic接受一个块,允许您插入一些代码以确定是否应对其进行身份验证(documentation)。 E.g。
before_filter :authenticate
def authenticate
authenticate_or_request_with_http_basic('Administration') do |username, password|
ActiveSupport::SecurityUtils.secure_compare(username, "admin") &&
ActiveSupport::SecurityUtils.secure_compare(password, "password")
end
end