Spencer Sun
Spencer Sun

Reputation: 41

CannotGetMongoDbConnectionException: Failed to authenticate to database

In the replica-set Mongo Shell, use products;db.auth('worker'.'a*******6'); is alright, but in spring-data-mongondb, I encountered the following problem:

Exception in thread "main" org.springframework.data.mongodb.CannotGetMongoDbConnectionException: Failed to authenticate to database [products], username = [worker], password = [a*******6]
    at org.springframework.data.mongodb.core.ReflectiveDbInvoker.authenticate(ReflectiveDbInvoker.java:83)
    at org.springframework.data.mongodb.core.MongoDbUtils.doGetDB(MongoDbUtils.java:127)
    at org.springframework.data.mongodb.core.MongoDbUtils.getDB(MongoDbUtils.java:94)
    at org.springframework.data.mongodb.core.SimpleMongoDbFactory.getDb(SimpleMongoDbFactory.java:197)
    at org.springframework.data.mongodb.core.SimpleMongoDbFactory.getDb(SimpleMongoDbFactory.java:185)
    at org.springframework.data.mongodb.core.MongoTemplate.getDb(MongoTemplate.java:1595)
    at org.springframework.data.mongodb.core.MongoTemplate.execute(MongoTemplate.java:441)
    at org.springframework.data.mongodb.core.MongoTemplate.doCreateCollection(MongoTemplate.java:1612)
    at org.springframework.data.mongodb.core.MongoTemplate.createCollection(MongoTemplate.java:492)
    at com.qixin.appmarket.service.test.TestMongodb.main(TestMongodb.java:24)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

Upvotes: 4

Views: 3864

Answers (2)

Pankaj Mandale
Pankaj Mandale

Reputation: 281

In MongoDB, you can use:

use products
db.createUser(
   {
     user: "accountUser",
     pwd: "password",
     roles: [ "readWrite", "dbAdmin" ]
   }
)

Upvotes: 0

E-Riz
E-Riz

Reputation: 32954

Try updating to spring-data-mongodb to the latest version. I was getting that authentication error while using version 1.7.2.RELEASE but it stopped after updating to 1.8.0.RELEASE.

Upvotes: 4

Related Questions