This issue zostało uznane za rozwiązane w najnowszej wersji Motoroweru, ale nadal mi się przytrafia. Mam szyn 4.2 app z Mongoid, stworzył użytkownika o MongoDB DB z ReadWrite i dbOwner ról i ustaw auth = true w mong.conf pliku.
Mogę wykonać dowolne działania na DB z tymi poświadczeniami użytkownika za pomocą powłoki Mongo lub prostej aplikacji Java za pomocą ich sterownika Mongo.
Jednak gdy próbuje uwierzytelnić Mongoid zawsze dostać ten błąd:Railsy Mongoid nie mogą się uwierzytelnić - nie powiodło się z powodu błędu 13: "nie zatwierdzono dla zapytania w my_db.my_collection"
failed with error 13: "not authorized for query on my_db.my_collection"
Oto odnośny fragment mojego pliku mongoid.yml:
production:
# Configure available database sessions. (required)
sessions:
# Defines the default session. (required)
default:
# Defines the name of the default database that Mongoid can connect to.
# (required).
database: my_db
hosts:
- localhost:27017
username: my_username
password: my_password
Próbowałem zostały również zastąpienie host ze zdalnym adresem serwera i dostęp do niego zdalnie (który działa z wyłączoną opcją uwierzytelniania) bez powodzenia. Na co to wszystko warte, widzę, że poświadczenia przez debugowanie mpped plik/node.rb w ensure_connected metodę widzę, że @credentials zmienna zawiera nazwę użytkownika i hasło Co ja tu brakuje? Dzięki!
http://stackoverflow.com/questions/17376250/ruby-on-rails-mongoid-and-webfaction-not-authorized-for- query-error-16550 –
Dzięki, ale jak już powiedziałem, użyłem również roli readWrite i działa ona od innych klientów. To nie jest właściwa odpowiedź. – Orr
Jeśli eskalujesz użytkownika, aby wpisać [dbOwner] (http://docs.mongodb.org/manual/reference/built-in-roles/#dbOwner), czy błąd nadal występuje? – Drakes