2010-02-05 17 views
7

¿Es posible usar kerberos para autenticar a un usuario bajo raíles? ¿Hay algún complemento existente (preferiblemente que extienda la funcionalidad de Authlogic) para hacer esto?Autenticación Kerberos en Rails

Respuesta

6

Espero que alguien más venga y nos muestre una forma pura de Rails de hacer esto. Pero hasta entonces, la manera más fácil de hacer que las cosas funcionen es dejar que su servidor web lo maneje.

En ese sentido, voy a asumir Apache. Si este no es el caso, cuéntanos un poco más sobre tu configuración.


adecuada autenticación Kerberos en los navegadores se realiza en el protocolo HTTP en sí, al igual que Basic or Digest authentication. En Apache, esto se puede hacer con mod_kerb_auth.

Luego, el siguiente paso es averiguar cómo recuperar el nombre de usuario. Depende un poco de la interfaz que está utilizando entre el servidor web y su aplicación Rails. Esto podría ser Passenger, FastCGI, mod_proxy, etc.

Muchos seguirán el original CGI standard hasta cierto punto, pasando un conjunto de variables de entorno con la solicitud. Intente lo siguiente en su controlador:

username = request.env['REMOTE_USER'] 

Eso es todo lo que puedo llevarlo. Nunca he usado authlogic. Aunque, por lo que parece, admite complementos. ¿Quizás pueda crear uno nuevo que confíe ciegamente en REMOTE_USER si está configurado?

+0

Gracias, que estaba esperando una manera rieles pero esto parece que podría ser la única manera actual para hacerlo. – Ryan

Cuestiones relacionadas