gpt4 book ai didi

ruby-on-rails-4 - 受密码保护的特定 Rails 路线

转载 作者:行者123 更新时间:2023-12-04 00:43:00 24 4
gpt4 key购买 nike

我想要一个密码 站点范围 就像Rack的Basic AUTH

/config.ru

use Rack::Auth::Basic, "Restricted Area" do |username, password|
[username, password] == ['admin', 'admin']
end

run Rails.application

但是我不希望它阻止路径 /API/mailgun/incoming_email 密码访问。我可以在 Rack 中完成吗?或者我应该在 routes.rb 中实现一个范围,几乎所有资源都在 Rack (输入一次)密码后面?

郑重声明,我在网站内使用 Devise……这是分开的。在此之前我需要一个全站密码。

[修改后的问题]

特定路线

我只想用密码保护根路径 //visitors 与 Rack like 密码。我之前在 Rails routes.rb 文件中看到过一些需要密码的 lambda 条件。我目前找不到该信息。

最佳答案

我的网站已经将未经身份验证的 Devise 用户重定向到 /users/sign_in。所以我只需要用密码保护//users/sign_in/users/sign_up。我就是这样做的。

config.ru

class RootSiteAuth < Rack::Auth::Basic
def call(env)
request = Rack::Request.new(env)
if ['/', '/users/sign_in', '/users/sign_up'].include? request.path
super
else
@app.call(env)
end
end
end

use RootSiteAuth, "Restricted Area" do |username, password|
[username, password] == ['admin', 'admin']
end

run Rails.application

而且它有效。每个具有 before_filter :authenticate_user! 的 Controller 都会重定向到 Rack 密码页面。身份验证后,我们就可以开始了。任何没有过滤器的东西都会按计划允许外部访问。 ^_^

关于ruby-on-rails-4 - 受密码保护的特定 Rails 路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27180754/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com