spring 身份验证无法使用Sping Boot 实现mongoDB

6qfn3psc  于 2023-08-02  发布在  Spring
关注(0)|答案(3)|浏览(111)

我试图创建一个服务器,我的网页/应用程序可以调用,从现在开始,我开始登录,所以,我已经创建了服务器根据我的需要,问题是在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”:“身份验证失败。",“代码”:18,“codeName”:“身份验证失败”}
我已经使用这个命令mongod --auth启动了mongod,我已经创建了一个用户来执行这个操作(正在工作,因为如果我手动执行mongo -u user -p 'password' --authenticationDatabase "admin"工作),直到我添加这个--authenticationDatabase "admin",所以也许这就是我需要的Spring
我错过了什么?

s4n0splo

s4n0splo1#

如果您使用的是spring.data.mongodb.uri方法,

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

字符串

6bc51xsx

6bc51xsx2#

所以也许这就是我需要的Spring
当然,你说的是spring.data.mongodb.authentication-database = mydatabase,这是不正确的!
你想使用spring.data.mongodb.authentication-database = admin来代替,它将工作。

6gpjuf90

6gpjuf903#

我使用mongoTemplate很好,但MongoRepository不工作,最后,我只用spring.data.mongodb.uri,它解决了所有问题

相关问题