Spring boot 与Mongodb 认证异常处理

2019年12月18日11:14:20 发表评论 248 views
广告也精彩

1,AuthenticationFailed to mongoDB with Spring boot

新项目落地,需要使用mongodb作为数据库,部署看上1篇,在调试过程中,spring 链接mongodb 失败,提示认证失败,报错如下:

Spring boot 与Mongodb 认证异常处理

问题说明:

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

排查问题过程:

1,查看配置文件
bind 0.0.0.0

2,用户权限

> show users
> use fqcf
> db.createUser({ user: 'fqcf', pwd: '123456', roles: [ { role: "dbOwner", db: "fqcf" } ] })

Spring boot 与Mongodb 认证异常处理

3,排查代码配置文件

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

默认他的认证库是admin,不是mydatabase

最后注意排查,确认问题出现在,authentication-database 上,由于mongodb是受上层账户权限认证,所以这里我们需要改为admin,即可。

  • QQ精品交流群
  • weinxin
  • 微信公众号
  • weinxin
广告也精彩
admin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: