【问题标题】:Invalid credentials for database 'Database Name'. MongoDB 2.6.2数据库“数据库名称”的凭据无效。 MongoDB 2.6.2
【发布时间】:2014-11-07 11:13:04
【问题描述】:

我正在使用 monogdb 2.6.2 并尝试在 monogdb 服务器中创建管理员用户帐户。

用户详情如下:-

我可以在 Mongo shell 中使用这些数据库凭据访问任何数据库,但是当我尝试通过应用程序使用相同的数据库凭据时,我遇到了错误。

数据库“数据库名称”的凭据无效

数据库连接字符串:-

"mongodb://admin:admin@localhost:27011";

有人可以帮忙吗?

提前致谢。

更新:

请查看尝试在数据库中创建新集合的两种方法。

现在,当我尝试使用相同的用户名和密码(-u admin -p admin)登录时,mongo shell 给了我未经授权的用户错误。

然后我用新的用户名和密码创建了一个新用户 -u sa -p root 并且我再次执行了相同的步骤。

它允许用户在 mongo shell 中访问,但未经授权使用应用程序中的相同用户名和密码进行访问。

【问题讨论】:

  • 你能告诉我们你尝试连接数据库的代码部分吗?
  • @IsThatSo 请查看更新后的问题。
  • 他已经说过“我可以在 Mongo shell 中使用这些数据库凭据访问任何数据库,但是当我尝试通过应用程序使用相同的数据库凭据时出现错误。”
  • @DavidG 什么样的权限?我已经为用户添加了角色。请看命令行图片。
  • 如何与shell连接?

标签: c# mongodb connection-string mongodb-query


【解决方案1】:

您需要对正确的数据库进行身份验证。您的用户存在于管理数据库中,因此使用连接字符串对管理数据库进行身份验证,例如

mongodb://admin:admin@localhost:27011/admin

【讨论】:

  • 但是如果我赋予了“readwriteAnyDatabase”的角色,那么它应该适用于所有其他数据库。如果我错了,请纠正我?
  • 您对任何数据库都有读/写访问权限,但您仍应向用户记录所在的管理数据库进行身份验证。这样做不行吗?如果是这样,您会收到不同的错误消息吗?
猜你喜欢
  • 2015-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-13
  • 1970-01-01
  • 2021-10-24
  • 2016-09-25
  • 2021-09-20
相关资源
最近更新 更多