標籤:... mat 出現 min xxxxxx bow modified users odi
由於3.0.3,mongodb加入了SCRAM-SHA-1校正方式,需要第三方工具配合進行驗證,所有Spring boot串連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‘}]})
然後關閉伺服器,開啟認證,重啟伺服器!!
Spring boot串連3.03以上的mongodb 許可權驗證問題