当您在MongoDB控制台中以管理员用户(管理员数据库用户)的身份登录时,您可以完全访问同一台服务器上的任何数据库,而无需登录到每个数据库。但是,如果我使用官方的C#驱动程序并向管理员数据库提供连接字符串,那么当我试图访问任何其他数据库时,我会收到身份验证错误。这发生在MongoServerInstance.AcquireConnection()中,它试图重新验证连接,并对照另一个数据库检查管理数据库凭据,这当然会失败。
我试图实现的是-我提供管理连接字符串并访问所有数据库,而无需登录到每个数据库,就像控制台所做的那样
我可以做些什么来使C#驱动程序在身份验证方面与控制台的工作方式相同?
发布于 2011-07-20 23:26:46
在我深入研究MongoDB驱动程序的身份验证代码后,我发现您需要在连接字符串中的管理用户名后面添加'( admin )‘,以告诉驱动程序这实际上是一个管理员登录。在这样做之后,一切都会按预期进行!
https://stackoverflow.com/questions/6764078
复制相似问题