5

Mam bazę danych PostgreSQL, do której uzyskuję dostęp z różnych lokalizacji i chciałbym dodać interfejs z Ruby na Railsach 3. Do uwierzytelniania potrzebuję zalogować użytkowników z tymi samymi danymi uwierzytelniającymi użyte do create them directly in the database; czy istnieje sposób, aby Railsy łączyły się z bazą danych za każdym razem z inną nazwą użytkownika/hasłem, w oparciu o bieżącego użytkownika? Dzięki za wszelkie wskazówki!Użyj "użytkowników bazy danych" do uwierzytelniania w Ruby on Rails

+0

Dlaczego chcesz to zrobić? – ybakos

+1

@ybakos ma konsystencję w całym systemie i ponieważ w bazie danych znajduje się złożona konfiguracja wyzwalaczy/funkcji, które zależą od ról użytkowników i uprawnień – Takhion

Odpowiedz

1

Tak. Użyj niestandardowego uwierzytelnienia na devise, które wysyła zapytanie do bazowej bazy danych PostgreSQL.

Patrz:

Custom authentication strategy for devise

pewnością dodać jakiś rodzaj filtra, aby zmniejszyć listę użytkowników, którzy mogą uwierzytelniać w ten sposób.

+0

To wygląda na to, jak to zrobić! Sprawdzę to tak szybko jak to możliwe :) – Takhion

+1

Ale w jaki sposób dowolna z tych zmian, które (PostgreSQL) użytkownika są używane do nawiązania połączenia z bazą danych? Oczywiście, możesz uwierzytelniać użytkowników za pomocą dowolnego mechanizmu, który Ci się podoba, ale to nie zmienia użytkownika/roli dołączonej do połączenia/sesji bazy danych. –