当前位置: 首页 > 知识库问答 >
问题:

MongoDB返回"I ACCESS[con6]未授权:管理员未授权执行命令{查找:"user",过滤器:{username:"root"}}"

应煌
2023-03-14

我跟随Vertx的mongo auth的插图如下:

MongoClient client = MongoClient.createShared(vertx, new JsonObject().put("connection_string", "mongodb://127.0.0.1:27017/admin"), "My Pool");
    JsonObject authProperties = new JsonObject()
            .put("username", "root")
            .put("password", "root");

    MongoAuth authProvider = MongoAuth.create(client, authProperties);

我在本地MongoDB服务器上创建了一个名为“root”的用户:

 db.getUser("root");

{“_id”:“admin.root”,“user”:“root”,“db”:“admin”,“customData”:{“user”:“XXX”},“roles”:[{“role”:“readWrite”,“db”:“admin”},{“role”:“userAdminAnyDatabase”,“db”:“admin”}]}

但是当我运行这个顶点时,它没有注意到,但打印了以下:: 没有服务器由ReadPrepriceServerSseltor{readPrecon=主}从集群描述Clusterdescription ption{type=UNKNOWN,ConnectionMode=SINGLE,serverApplication=[服务器描述{地址=127.0.0.1:27017,type=UNKNOWN,state=CONNECING}]}选择。等待30000 ms才超时

MongoDB(最新版本)服务器的日志:

2017-04-13T15:30:45.373 0800 I访问[conn6]未经授权:未授权在管理员上执行命令{find:“user”,filter:{username:“root”}

共有1个答案

郭凡
2023-03-14

我只是从一个json配置文件加载连接配置。

JsonObject mongoConfig = Config.getObject("mongo_config");
MongoClient mongo = MongoClient.createShared(vertx, mongoConfig);

配置文件:

{
    "mongo_config":{
     "db_name":"somedb",
     "connection_string":"mongodb://username:password@127.0.0.1:27017"
    }
}
 类似资料:
  • 非常好的一天, 任何帮助都很感激。提前谢了。

  • http://docs.mongodb.org/manual/tutorial/add-user-administrator/ 2)然后我编辑了mongod.conf,取消了这一行的注释 4)我可以连接,但它在连接时说了这句话。 5)现在,我创建的这个用户似乎根本没有权限。 问题出在哪里?我将整个过程重复了3次,并且 我认为我是按照MongoDB文档中指定的方式完成的。但它不起作用。 我希望这个用

  • 我试图通过Java Apachebeam MongoDbIO连接器连接到MongoDB,得到一个“未授权”错误。 同样的连接细节也适用于Python并能够检索数据。 “org.apache.beam.sdk.io.mongodbo.mongodbio$boundedmongodbsource.$closeresource(Mongodbio.java:407)位于org.apache.beam.s

  • 我用的是角度和节点。js与Auth0一起登录。我正在使用《快速入门指南》启动API。这是我使用Auth0 API的后端。 使用Auth0通用登录登录后,我会尝试访问我的后端,查看我是否获得授权。 这是检查我是否被授权的代码。 注意,我没有传递任何东西(我想我需要传递,但Auth0指南没有告诉我)。 在检查我是否被授权后,我得到一个错误,没有找到授权令牌。不知道我在这里干什么。我的后端是否未正确连接

  • 管理组采用逐级授权模式,上级包含下级所有权限(应用管理、通讯录管理、API接口等),权限逐级为:企业创建人>系统管理组>下级管理组 由于每个管理组权限不同,一个管理员只能授权管理一个管理组(系统管理组、二级管理组、三级管理组、四级管理组等) 授权/变更系统管理员 企业创建人可将成员添加为系统管理组管理员,则该管理员具有所有应用和服务号的管理权限,具体操作如下: 1)企业创建人登录企业管理平台:ht

  • 我们正在使用AWS Lambda授权器和API网关来保护我们的下游API。 下面是我们基于Java的lambda授权程序的代码片段 我们需要401(“未经授权”)作为一个回应,有人能请帮助如何做这一点吗?我们有用Java编写的lambda授权器。