zoukankan      html  css  js  c++  java
  • MongoDB-C# Driver账户密码登录问题

    MongoDb在3.0之后添加了SCRAM-SHA-1,用户验证模式。添加的用户,默认登录协议也是这个。

    在登陆的时候就要选择使用这种方式登录。有的gui客户端的登录验证方式还是MONGODB-CR。因此会验证失败,错误日志信息:

    Failed to authenticate user@db with mechanism MONGODB-CR: AuthenticationFailed: MONGODB-CR credentials missing in the user document
    

    使用命令 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" } ] }
    

    在使用C# Driver操作mongo时,如果驱动版本小于1.10,就连接不上。必须要大于1.10版本,使用字符串方式,就可以连接了。

    mongodb://user:pwd@127.0.0.1:2222/db
    

    也可以修改,用户的验证协议,这种方式显然是不推荐的,可参考:http://21jhf.iteye.com/blog/2216103。

    C# Driver 1.10版本:http://files.cnblogs.com/files/zhaoyihao/CSharpDriver-1.10.1.zip

  • 相关阅读:
    python学习之路01
    面向对象(2)__继承多态1
    面向对象(1)____私有公有 访问限制
    property
    yield理解
    列表推导式
    Django序列化1_基本的序列化和反序列化
    一些滑动操作
    装饰器
    django模板
  • 原文地址:https://www.cnblogs.com/zhaoyihao/p/6270169.html
Copyright © 2011-2022 走看看