将HTTP基本身份验证添加到routes.rb中的某些路由

Cyr*_*rus 11 authentication ruby-on-rails-3

我想在我的routes.rb文件中的一些路由中添加HTTP基本身份验证.

我从http://asciicasts.com/episodes/271-resque那里得到了这个想法

routes.rb

Coderbits::Application.routes.draw do  
  resources :snippets  
  root :to => "snippets#new"  
  authenticate :admin do  
    mount Resque::Server, :at => "/resque"  
  end  
end
Run Code Online (Sandbox Code Playgroud)

config/initializers/resque_auth.rb

Resque::Server.use(Rack::Auth::Basic) do |user, password|  
  password == "secret"  
end 
Run Code Online (Sandbox Code Playgroud)

如果我只是想保护我的rails应用程序中的路由,我应该在初始化程序文件中添加什么?

我现在的工作是在我的应用程序控制器中添加一个前置过滤器,如果请求不是我已列入白名单的控制器:

authenticate_or_request_with_http_basic do |user, password|
  user == ENV["ADMIN_USER"] && password == ENV["ADMIN_PASS"]
end
Run Code Online (Sandbox Code Playgroud)

小智 6

我只是说

  http_basic_authenticate_with :name => "admin", :password => "secret"
Run Code Online (Sandbox Code Playgroud)

在我的控制器内