大家好,我来自Grails背景,是Rails的新手.我希望在rails中进行http基本身份验证.

我在grails中有一个代码,它可以执行如下基本身份验证:

def authString = "${key}:".getBytes().encodeBase64().toString()
def conn = "http://something.net".toURL().openConnection()
conn.setRequestProperty("Authorization", "Basic ${authString}")

rails也能做到这一点吗?

推荐答案

在要使用http基本身份验证限制的控制器中编写以下代码

class ApplicationController < ActionController::Base
  http_basic_authenticate_with :name => "user", :password => "password" 
end

使用开放uri发出请求如下所示:

require 'open-uri'

open("http://www.your-website.net/", 
  http_basic_authentication: ["user", "password"])

Ruby-on-rails相关问答推荐

Rails 7.1解决冲突的Zeitwerk Inflection规则

HTTP:MimeNegotiation::InvalidType(html不是有效的MIME类型):""

如何在不触发每次编译的情况下运行`bin/rails测试`?

我的 Ruby on Rails Web API 的 Docker 映像未在服务器上构建,因为它未与 ruby​​gems.org 连接

Rails 7 - has_many_attached 在加载新附件时删除旧附件

在 Datatable Ajax 调用中通过 Ajax 更新 div

为什么 Image_tag 产生images/...而不是assets/....?

在 Rails 6.1 升级后,作业(job)规范使用 Minitest::UnexpectedError 包装错误

Rails 模型.有效吗?刷新自定义错误并错误地返回 true

Ruby on Rails 取消首字母大写

价格字段的字符串、小数或浮点数据类型?

如何将 yaml 文件解析为 ruby​​ 哈希和/或数组?

通过字符串获取 ActiveRecord 对象的属性

我们如何在 Rails Mailer 中设置邮箱发件人的名称?

如何检测导致 Rake 中的弃用警告的原因

我可以在 twitter-bootstrap popover 数据内容中使用 html 标签吗?

Post.all.map(&:id) 是什么意思?

Active Record has_many:通过删除一条关联记录

如何在 rake 任务中强制 RAILS_ENV?

使用 ActiveRecord 获取列名