fel*_*lix 23 authentication heroku devise ruby-on-rails-3
有没有办法让我的应用程序完全保密,只让开发人员可以访问?
当随机用户输入URL时,它应该类似于空白页面,但是当开发人员输入URL时,他们应该能够访问该应用程序.
lbz*_*lbz 16
我的廉价解决方案一直在实现一个before_filter,以便在执行每个操作之前请求HTTP身份验证.
此解决方案适用于其他身份验证层 - 设计或其他.
USERS = { "user" => "secret" }
before_filter :authenticate
def authenticate
authenticate_or_request_with_http_digest("Application") do |name|
USERS[name]
end
end
Run Code Online (Sandbox Code Playgroud)
每当其他对等方登陆yourdomain.heroku.com时,系统会要求他们进行HTTP身份验证,稍后进行其他身份验证(如果有).
一个非常简单的解决方案是仅添加一个可以存储在用户计算机上的 cookie 中的密钥。这不是一个完美的解决方案,因为有人可以获得密钥,但它为您提供了基本的保护,防止有人无意中访问您的网站。您可以使用http://www.yourdomain.com?access_key=random_string这样的 url ,然后将以下内容添加到您的应用程序控制器。
class ApplicationController < ActionController::Base
before_filter :check_redirect_key
def check_redirect_key
if request[:access_key] != 'random_string' && cookies[:access_key] != 'random_string'
redirect_to "/404.html"
elsif request[:access_key] == 'random_string'
cookies.permanent[:access_key] = 'random_string'
end
end
end
Run Code Online (Sandbox Code Playgroud)
此代码将检查用户计算机上的 url 或 cookie 中的访问密钥,如果任一位置存在访问密钥,则允许他们进入。这样,一旦他们使用密钥访问该网站,他们就可以直接访问该网址。
| 归档时间: |
|
| 查看次数: |
22009 次 |
| 最近记录: |