5

Tôi có cơ sở dữ liệu PostgreSQL mà tôi truy cập từ nhiều vị trí khác nhau và muốn thêm giao diện với Ruby on Rails 3. Để xác thực, tôi cần đăng nhập người dùng bằng cùng một thông tin xác thực được sử dụng để create them directly in the database; Có cách nào để làm cho Rails kết nối với cơ sở dữ liệu mỗi lần với tên người dùng/mật khẩu khác nhau, dựa trên người dùng hiện tại? Cảm ơn mọi gợi ý!Sử dụng "người dùng cơ sở dữ liệu" để xác thực trong Ruby on Rails

+0

Tại sao bạn muốn thực hiện việc này? – ybakos

+1

@ybakos để có tính nhất quán trên toàn hệ thống và vì bên trong cơ sở dữ liệu có một thiết lập phức tạp của trình kích hoạt/chức năng dựa trên vai trò và quyền của người dùng – Takhion

Trả lời

1

Có. Sử dụng xác thực tùy chỉnh trên devise tạo truy vấn tới cơ sở dữ liệu postgresql cơ bản.

Xem:

Custom authentication strategy for devise

Tôi chắc chắn sẽ thêm một số loại bộ lọc để giảm danh sách người dùng có thể xác thực theo cách này.

+0

Điều đó giống như cách để thực hiện! Tôi sẽ kiểm tra nó càng sớm càng tốt :) – Takhion

+1

Nhưng làm thế nào để thay đổi này (PostgreSQL) người dùng được sử dụng để thiết lập kết nối với cơ sở dữ liệu? Chắc chắn, bạn có thể xác thực người dùng bằng cách sử dụng bất kỳ cơ chế nào bạn thích nhưng điều đó không thay đổi người dùng/vai trò gắn liền với kết nối cơ sở dữ liệu/phiên. –