gpt4 book ai didi

ruby-on-rails - 密码保护 Rails 登台环境

转载 作者:行者123 更新时间:2023-12-04 02:36:31 25 4
gpt4 key购买 nike

我正在尝试找出保护我的临时环境的最佳方法是什么。目前我在同一台服务器上同时运行暂存和生产。

我能想到的两个选项是:

使用 rails 摘要认证

我可以把这样的东西放在 application_controller.rb

# Password protection for staging environment
if RAILS_ENV == 'staging'
before_filter :authenticate_for_staging
end

def authenticate_for_staging
success = authenticate_or_request_with_http_digest("Staging") do |username|
if username == "staging"
"staging_password"
end
end
unless success
request_http_digest_authentication("Admin", "Authentication failed")
end
end

这是从 Ryan Daigle's blog 撕下来的.我在最新的 Rails 2.3 上运行,所以我应该摆脱他们对此的安全问题。

使用 Web 服务器身份验证

我也可以使用 .htaccess 或 apache 权限来实现这一点,但是它使我的服务器配置稍微复杂一些(我使用的是 Chef,并且需要不同的 apache 配置来进行暂存/生产)。

现在我已经实现并运行了第一个,你觉得它有什么问题吗?我错过了一些明显的东西吗?提前致谢!

最佳答案

在解决类似但更清洁的解决方案之前,我阅读此内容以帮助其他人,例如我自己。

# config/environments/staging.rb

MyApp::Application.configure do
config.middleware.insert_after(::Rack::Lock, "::Rack::Auth::Basic", "Staging") do |u, p|
[u, p] == ['username', 'password']
end

#... other config
end

我写了一个简短的 blog post关于它。

关于ruby-on-rails - 密码保护 Rails 登台环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1482266/

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