2010-06-11 10 views
9

Me gustaría ejecutar una aplicación en una versión privada restringida en heroku.Beta restringida privada potenciada por Heroku

Estamos cambiando la aplicación regularmente y no hemos realizado una auditoría de seguridad.

Para evitar que alguien explote cosas, nos gustaría bloquear todo el sitio, por lo que necesita una contraseña para acceder a cualquier cosa.

Idealmente similar al uso de los archivos .htaccess y .htpasswd para bloquear un sitio completo en un servidor Apache.

¿Hay una manera simple de hacer esto para una aplicación alojada de heroku?

+0

duplicado/similar de http://stackoverflow.com/questions/3839167/is-there-a-way-to-set-up-simple-http-authentication-for-an-app-on-heroku – tothemario

Respuesta

3

.htaccess y .htpasswd básicamente le dice a Apache que autentique al usuario usando un sistema de autenticación básica. Puedes hacer lo mismo con una capa de Rack pura.

Ver http://rack.rubyforge.org/doc/Rack/Auth/Basic.html

Puesto que está utilizando Heroku, supongo que va a implementar una aplicación compatible con rack (ya sea un estante, rieles o Sinatra aplicación).

5

Simplemente use authenticate_or_request_with_http_basic en un before_filter en su ApplicationController.

ver este episodio Railscasts para obtener instrucciones: http://railscasts.com/episodes/82-http-basic-authentication

+0

lo intenté, pero no jugaría bien con el dispositivo. parecía generar un bucle infinito de redirección –

+0

¡Ah! Solo agrega 'warden.custom_failure! si se realiza? 'al final de su método de filtro (como en https://gist.github.com/dc7906d07174c8514551) – plindberg

+0

He intentado este método con' warden.custom_failure! si se realiza? ', y funciona, pero causa otro problema. Cuando intenta iniciar sesión como usuario (usando el dispositivo), dice "nombre de usuario y contraseña incorrectos", probablemente porque está tratando de usar el u/p que utilicé para la autenticación HTTP básica. ¿Algunas ideas? –

Cuestiones relacionadas