5

Tengo una base de datos PostgreSQL a la que accedo desde varias ubicaciones y me gustaría agregar una interfaz con Ruby on Rails 3. Para la autenticación necesito iniciar sesión con las mismas credenciales usado para create them directly in the database; ¿Hay alguna manera de hacer que los Rails se conecten a la base de datos cada vez con diferentes nombres de usuario/contraseñas, según el usuario actual? ¡Gracias por cualquier pista!Usar "usuarios de bases de datos" para autenticarse en Ruby on Rails

+0

¿Por qué querrías hacer esto? – ybakos

+1

@ybakos para tener consistencia en todo el sistema y porque dentro de la base de datos hay una configuración compleja de desencadenantes/funciones que dependen de las funciones y permisos de los usuarios – Takhion

Respuesta

1

Sí. Utilice una autenticación personalizada en devise que realice una consulta a la base de datos postgresql subyacente.

Ver:

Custom authentication strategy for devise

Sin duda añadir algún tipo de filtro para reducir la lista de usuarios que pueden autenticar esta manera.

+0

¡Parece la forma de hacerlo! Lo verificaré lo antes posible :) – Takhion

+1

Pero, ¿cómo cambia esto de qué usuario (PostgreSQL) se usa para establecer la conexión a la base de datos? Claro, puede autenticar a los usuarios utilizando cualquier mecanismo que desee, pero eso no altera el usuario/rol adjunto a la conexión/sesión de la base de datos. –