MongoDB C# Driver MongoCredential object
本文关键字:object MongoCredential Driver MongoDB | 更新日期: 2023-09-27 18:36:50
MongoDB驱动程序的文档似乎与从NuGet中提取的实际驱动程序不同。
更具体地说,记录的"MongoCredentials"(复数)不存在,而只有"MongoCredential"(单数)。此外,MongoServer.GetDatabase 似乎没有接受 MongoCredential 的构造函数,只有 MongoDatabaseSettings(以及命名 databae 的字符串),而且我没有看到给 MongoDatabaseSettings 对象一个 MongoCredential 对象的明显方法。
我没有在谷歌上找到任何我在驱动程序中找到的对象的例子,只有那些与(过时?)官方文档一致的对象。
我正在使用的驱动程序称为(在NuGet包管理器中)"官方MongoDB C#驱动程序"。
总结一下:如何在 C# 驱动程序中实际提供凭据?
我也在使用NuGet的官方MongoDB C#驱动程序,版本1.8.3。
事实上,CSharp 驱动程序教程似乎已经过时了。
但是,API 文档是正确的;那里有一个 MongoCredential 类(单数)的条目。
您可以使用构造函数或静态工厂方法之一(CreateGssapiCredential或CreateMongoCRCredential)创建凭据。
接下来,为了使用凭据,您不能在GetDatabase()
调用中指定它们,但更早地在创建服务器时指定它们,如下所示:
var db1Credential = MongoCredential.CreateMongoCRCredential("db1", "uid", "pwd");
var db2Credential = MongoCredential.CreateMongoCRCredential("db2", "uid", "pwd");
var server = new MongoServer(
new MongoServerSettings
{
Server = new MongoServerAddress("localhost", 27017),
Credentials = new[]
{
db1Credential,
db2Credential
}
});