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

  • 相关阅读:
    mysql5.7慢查询开启配置
    easyui的datagrid删除一条记录后更新出问题
    easyui跨iframe属性datagrid
    struts2笔记12-声明式异常
    struts2笔记11-OGNL
    struts2笔记10-值栈
    linux命令学习03-grep
    struts2笔记09-动态方法调用
    1、GIT简介
    玩转Python语言之4:奇技淫巧
  • 原文地址:https://www.cnblogs.com/zhaoyihao/p/6270169.html
Copyright © 2011-2022 走看看