I am getting this error socket exception raised by this connection while running my application.

INFO 5231 --- [nio-8087-exec-1] org.mongodb.driver.connection: Closed connection [connectionId{localValue:2}] to 192.168.0.2:27017 because there was a socket exception raised by this connection.**

    org.springframework.data.mongodb.UncategorizedMongoDbException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='admin', source='campbell', password=<hidden>, mechanismProperties={}}; nested exception is com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='admin', source='campbell', password=<hidden>, mechanismProperties={}}
        at org.springframework.data.mongodb.core.MongoExceptionTranslator.translateExceptionIfPossible(MongoExceptionTranslator.java:138)
        at org.springframework.data.mongodb.core.MongoTemplate.potentiallyConvertRuntimeException(MongoTemplate.java:2756)
        at org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:2666)
        at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:2409)
        at org.springframework.data.mongodb.core.ExecutableFindOperationSupport$ExecutableFindSupport.doFind(ExecutableFindOperationSupport.java:214)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:791)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

    Caused by: com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='admin', source='campbell', password=<hidden>, mechanismProperties={}}

    Caused by: com.mongodb.MongoCommandException: Command failed with error 18 (AuthenticationFailed): 'Authentication failed.' on server 192.168.0.2:27017. The full response is { "ok" : 0.0, "errmsg" : "Authentication failed.", "code" : 18, "codeName" : "AuthenticationFailed" }

**I have declared properties in application properties-**
spring.data.mongodb.database=dbname
spring.data.mongodb.username=admin
spring.data.mongodb.password=*******
spring.data.mongodb.port=27017
spring.data.mongodb.host=192.168.0.2

登录凭据正确,但我仍收到此错误.

请帮帮我!

推荐答案

根据#46934427,设置spring.data.mongodb.authentication-database=admin可能会解决您的问题.

MongoDB中的默认数据库是test,因此,您可能正在try 对test数据库进行身份验证.切换到admin数据库(创建用户的常用位置)可能会解决您的问题.

Mongodb相关问答推荐

如何从文档列表的数组内部打印一个对象?

如何限制/筛选子文档中的条目?

Mongo聚合项目数组交集

无法配置数据源:未指定url属性,无法为 MongoDb 配置嵌入数据源

lexik_jwt_authentication下无法识别的选项api_platform

根据条件删除一些数组元素并将数组的大小更新为mongo中的另一个文件

Mongodb聚合中基于其他字段值的多个条件的动态新字段值

在 mongodb 聚合中的阶段之后输出具有序列数字 id 的新集合

CouchDB 或 MongoDB 中的哪一个适合我的需求?

Mongo C#忽略属性

Meteor 中的平均聚合查询

从 MongoDB find() 结果集中识别最后一个文档

mongoose递归填充

MongoDB中超过2GB的数据库

使用 Spring Security + Spring 数据 + MongoDB 进行身份验证

用于嵌入式集合的 MongoDB 首选模式.文档与数组

如何向 mongodb 2.6 添加身份验证?

MongoDb 连接被拒绝

用 MongoDB 中的属性表示多对多关系的最佳模型

在 NodeJs 中处理 Mongodb 全局连接的最佳方法是什么