【问题标题】:AuthenticationFailed to mongoDB with Spring boot使用 Spring Boot 对 mongoDB 进行身份验证失败
【发布时间】:2019-05-29 09:30:01
【问题描述】:

我正在尝试创建一个服务器,我的网页/应用程序可以在其中进行调用,从现在开始,我从登录开始,所以我已经根据我的需要创建了服务器,问题出在 application.properties 我我错过了一些东西,我有这个:

spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.authentication-database=mydatabase
spring.data.mongodb.username=stuart
spring.data.mongodb.password=stuartdto
spring.data.mongodb.database=mydatabase

尝试调用登录调用时的错误是这个

com.mongodb.MongoCommandException:命令失败,错误 18 (AuthenticationFailed):“身份验证失败。”在服务器 localhost:27017 上。完整的响应是 { "ok" : 0.0, "errmsg" : "Authentication failed.", "code" : 18, "codeName" : "AuthenticationFailed" }

我已经使用这个命令mongod --auth 启动了mongod 并且我已经创建了一个用户来执行此操作(正在工作,因为如果我手动执行mongo -u user -p 'password' --authenticationDatabase "admin" 工作)直到我添加此@987654326 它才工作@ 所以也许这就是我需要的 Spring

我错过了什么?

【问题讨论】:

  • 解决此类身份验证错误的一个好方法是查看 MongoDB 日志文件 (mongodb.log)。将记录身份验证失败,并显示问题是密码错误还是用户名错误。

标签: spring mongodb spring-boot


【解决方案1】:

如果你使用spring.data.mongodb.uri方法,

spring.data.mongodb.uri=mongodb://stuart:stuartdto@localhost:27017/mydatabase?authSource=admin

【讨论】:

    【解决方案2】:

    所以也许这就是我在 Spring 中所需要的

    当然,你说的是spring.data.mongodb.authentication-database = mydatabase,这是不正确的!

    您想改用spring.data.mongodb.authentication-database = admin,它会起作用。

    【讨论】:

      猜你喜欢
      • 2021-06-24
      • 1970-01-01
      • 2022-08-16
      • 2015-11-22
      • 2018-08-29
      • 2023-03-19
      • 1970-01-01
      • 2019-01-06
      • 1970-01-01
      相关资源
      最近更新 更多