ruby-on-rails ruby .htaccess

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.