如何在 Rails Metal 中使用 http basic auth?

发布于 2024-10-04 09:45:17 字数 257 浏览 3 评论 0原文

我正在尝试在 Rails Metal 中实现 http 基本身份验证。 使用这段代码:

class Api
  def self.call(env)
    if env["PATH_INFO"] =~ /^\/client/

    Rack::Auth::Basic.new(env) do |user, password|
      raise 'ERROR'
    end

但是这个块从未执行过?任何帮助将不胜感激!

I'm trying to implement http basic authentication in rails metal.
Using this code:

class Api
  def self.call(env)
    if env["PATH_INFO"] =~ /^\/client/

    Rack::Auth::Basic.new(env) do |user, password|
      raise 'ERROR'
    end

But this block never executed? Any help will be appreciated!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟沫凡尘 2024-10-11 09:45:17

我可以建议这种方法吗?在您的 config/environments/yourenv.rb 中只需添加

config.middleware.insert_after(::Rack::Lock, "::Rack::Auth::Basic", "Staging") do |u, p|
  u == ENV['HTTPUSER'] && p == ENV['HTTPPASS']
end

Might I suggest this approach instead? In your config/environments/yourenv.rb just add

config.middleware.insert_after(::Rack::Lock, "::Rack::Auth::Basic", "Staging") do |u, p|
  u == ENV['HTTPUSER'] && p == ENV['HTTPPASS']
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文