ruby on rails - usando htaccess protección con contraseña en rieles?
ruby-on-rails .htaccess (1)
Quiero que la ruta / admin en mi aplicación de rieles esté protegida utilizando archivos de contraseñas .htaccess. ¿Es esto posible?
Rails tiene un asistente integrado para esto, puede colocar esto en su controlador de aplicación:
protected
def authenticate
authenticate_or_request_with_http_basic do |username, password|
username == "admin" && password == "test"
end
end
Luego use un before_filter en cualquier controlador que desee proteger (o simplemente péguelo en el controlador de la aplicación para bloquear todo el sitio):
before_filter :authenticate
Este método funciona tanto en Nginx como en Apache, que es una ventaja adicional. Sin embargo, no funciona si tiene habilitado el caché de página completa, ya que el visitante nunca llega a la pila de Rails; no entrará en juego
Editar Acaba de notar que especificó la ruta / admin. Todos mis controladores de administración heredan de un AdminController. Podrías configurar el tuyo así:
/app/controllers/admin/admin_controller.rb
class Admin::AdminController < ApplicationController
before_filter :authenticate
protected
def authenticate
authenticate_or_request_with_http_basic do |username, password|
username == "admin" && password == "test"
end
end
end
Luego, haga que todos sus controladores amplíen el controlador de administración, por ejemplo:
class Admin::ThingsController < Admin::AdminController
Mis rutas están configuradas así:
map.namespace :admin do |admin|
admin.resources :things
end
Espero que ayude.