Spring boot链接3.03以上的mongodb 权限验证问题

因为3.0.3,mongodb加入了SCRAM-SHA-1校验方式,须要第三方工具配合进行验证,全部Spring boot链接MongoDB时会出现用户认证失败。mongodb

解决方法:服务器

> use admin switched to db admin >  var schema = db.system.version.findOne({"_id" : "authSchema"}) > schema.currentVersion = 3 
3 
> db.system.version.save(schema) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

删除原来建立的已经使用了SCRAM-SHA-1认证方式的用户工具

> use admin switched to db admin > db.system.users.find() [...] { "_id" : "userdb.myuser", "user" : "myuser", "db" : "userdb", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "XXXXXXXXXXXXXXXXXXXXXXXX", "storedKey" : "XXXXXXXXXXXXXXXXXXXXXXXXXXX", "serverKey" : "XXXXXXXXXXXXXXXXXXXXXXXXXXX" } }, "roles" : [ { "role" : "dbOwner", "db" : "userdb" } ] }
> use userdb switched to db userdb > db.dropUser("myuser") true 
>db.createUser({user:'myuser',pwd:'123456',roles:[{role:'dbOwner',db:'userdb'}]})

而后关闭服务器,开启认证,重启服务器!!spa

相关文章
相关标签/搜索