2014-10-11 17 views
7

Próbuję uwierzytelnić za pośrednictwem pliku mongoid.yml, ale użytkownik, którego chcę uwierzytelnić, znajduje się w administracyjnej bazie danych. Jeśli spróbuję określić administrację bazy danych w polu bazy danych, umieści tam wszystkie zbiory i nie chcę tego.Określanie bazy danych uwierzytelniania w pliku mongoid.yml

Czy istnieje sposób, aby ustawić moje pole bazy danych na żądaną bazę danych, ale podać oddzielną bazę danych uwierzytelniania? Herezje mój plik mongoid.yml w momencie

development: 
    sessions: 
    default: 
     database: XC_DEV 
     hosts: 
     - IP:PORT 
     username: user 
     password: password 

Odpowiedz

8

pytanie jest ponad rok, ale zasługuje na odpowiedź.

Tak, opcja auth_source określa bazę danych uwierzytelniania. Musisz być na mongoidie 5.0.0 lub wyższym (documentation on the mongodb website). Uwaga: domyślnie mongoid do administracyjnej bazy danych.

Nie można znaleźć takiej opcji dla Mongoid 4 configuration. Utworzyłem uwierzytelnienia w rzeczywistych bazach danych (może być sposób, o którym nie wiem).

Segment mongoid.yml (5.0.0):

development: 
    clients: 
    default: 
     database: database_name 
     hosts: 
     - localhost:27017 
     options: 
     # The name of the user for authentication. 
     user: "<%= Rails.application.secrets.mongoid['user'] %>" 
     # The password of the user for authentication. 
     password: "<%= Rails.application.secrets.mongoid['password'] %>" 
     # The user's database roles. 
     roles: 
      - 'dbOwner' 
     # Change the default authentication mechanism. Valid options are: :scram, 
     # :mongodb_cr, :mongodb_x509, and :plain. (default on 3.0 is :scram, default 
     # on 2.4 and 2.6 is :plain) 
     # auth_mech: :scram 
     # The database or source to authenticate the user against. (default: admin) 
     auth_source: admin 
+1

Niewystarczająca upvotes podziękować Wam za to! :) – Throoze

+0

Dziękuję bardzo – user2624242

Powiązane problemy