rmongodb 身份验证总是失败
rmongodb authentication always fails
我正在尝试使用 rmongodb 登录,但它没有进行身份验证。这是我的连接字符串:
myMongoConnection <- mongo.create(host = "<myip>",db = "geoLoc", username = "<myusername>", password = "<mypassword>")
但是,如果我在计算机上打开 mongo shell 并键入:
mongo <myip>/geoLoc -u '<myusername>' -p '<mypassword>'
连接正常。
此外,如果我登录服务器并通过注释掉禁用身份验证:
auth = true
,然后尝试:
myMongoConnection <- mongo.create(host = "<myip>",db = "geoLoc)"
它也很好用。所以这与用户名和密码有关。我不知道他们是什么,但我知道他们是 "correct" 因为我可以用他们登录!
您很可能运行 MongoDB 3.0 或更高版本的服务器版本(3.x 系列目前正在写作),其中有一个 updated security authentication mechanism(SCRAM-SHA- 1 来自 MONGODB-CR ) 与不支持它的旧驱动程序版本不兼容。
截至当前 rmongodb package release ( version 1.8.0 of writing ), this driver is based on the legacy C driver implementation which is not compatible with the new authentication methods. As is also noted in the issues on that repository,作者注意到此驱动程序依赖性并声明该程序包需要重写以利用支持新身份验证方法的新 API。
截至撰写本文时,除了建立目前尚未准备好发布的 new branch 之外,似乎没有任何此类更改的举措。
因此,您目前的选择是:
- 尽可能不进行身份验证
- 将 MongoDB 服务器版本降级为支持旧身份验证的版本
- 寻找支持新身份验证的其他驱动程序实现。
因此 "rmongodb" 本身当前无法连接到 MongoDB 3.x 服务器。要么应用其他选择之一,and/or 如果您能够通过完整的身份验证支持加快它的开发到下一个版本,那么您自己就可以为存储库做出贡献。
在此答案中链接的问题中链接或讨论了其他可能的驱动程序替代方案。
我正在尝试使用 rmongodb 登录,但它没有进行身份验证。这是我的连接字符串:
myMongoConnection <- mongo.create(host = "<myip>",db = "geoLoc", username = "<myusername>", password = "<mypassword>")
但是,如果我在计算机上打开 mongo shell 并键入:
mongo <myip>/geoLoc -u '<myusername>' -p '<mypassword>'
连接正常。
此外,如果我登录服务器并通过注释掉禁用身份验证:
auth = true
,然后尝试:
myMongoConnection <- mongo.create(host = "<myip>",db = "geoLoc)"
它也很好用。所以这与用户名和密码有关。我不知道他们是什么,但我知道他们是 "correct" 因为我可以用他们登录!
您很可能运行 MongoDB 3.0 或更高版本的服务器版本(3.x 系列目前正在写作),其中有一个 updated security authentication mechanism(SCRAM-SHA- 1 来自 MONGODB-CR ) 与不支持它的旧驱动程序版本不兼容。
截至当前 rmongodb package release ( version 1.8.0 of writing ), this driver is based on the legacy C driver implementation which is not compatible with the new authentication methods. As is also noted in the issues on that repository,作者注意到此驱动程序依赖性并声明该程序包需要重写以利用支持新身份验证方法的新 API。
截至撰写本文时,除了建立目前尚未准备好发布的 new branch 之外,似乎没有任何此类更改的举措。
因此,您目前的选择是:
- 尽可能不进行身份验证
- 将 MongoDB 服务器版本降级为支持旧身份验证的版本
- 寻找支持新身份验证的其他驱动程序实现。
因此 "rmongodb" 本身当前无法连接到 MongoDB 3.x 服务器。要么应用其他选择之一,and/or 如果您能够通过完整的身份验证支持加快它的开发到下一个版本,那么您自己就可以为存储库做出贡献。
在此答案中链接的问题中链接或讨论了其他可能的驱动程序替代方案。