2011-03-05 9 views
5

Estoy utilizando Rails 3 y Devise para la autenticación. Tengo un dispositivo de trabajo apropiado para el sitio web y autenticación básica para API (controlador json). ¿Cómo habilito la autenticación resumida?Autenticación implícita en Devise

Su Wiki me está diciendo para agregar

def http_authenticate 
    authenticate_or_request_with_http_digest do |user_name, password| 
    user_name == "foo" && password == "bar" 
    end 
    warden.custom_failure! if performed? 
end 

¿Dónde lo añado a y cómo hago para que partido nombre_usuario/contraseña?

Respuesta

1

Esa entrada en la wiki seguro que asume mucho.

Supongo que debe agregarlo al controlador apropiado (o al controlador de la aplicación si lo desea para todo).

Y a continuación, agregue un: before_filter: http_authenticate! También podría intentar localizar a la persona que escribió esa página wiki y preguntarle.

Nota. Esto depende de Warden para realizar su autenticación: el dispositivo solo maneja las cuentas.

Una de las razones por las cuales esto no está documentado tan bien es porque la mayoría de la gente usa un sofisticado sistema de administración de autenticación (por ejemplo, OmniAuth) y otra cosa por permisos/autorización, por ejemplo. Autorización declarativa o CanCan si prefiere algo más ligero.

HTTPBasic (y supongo que Digest) tiende a no jugar muy bien con estos.

+0

Bueno, eso sí que parece un paseo, pero supongo que el diseñador/awarden debería manejar la autenticación básica/de resumen para mí. Realmente no es mi lógica de aplicación y debe ser cuidado por gems/rack. – Zepplock

Cuestiones relacionadas