【问题标题】:How to setup authentication on mongoDB on docker-compose with nodejs?如何在 docker-compose 上使用 nodejs 在 mongoDB 上设置身份验证?
【发布时间】:2021-12-12 05:49:07
【问题描述】:

我想在使用我的 nodejs 应用程序连接到 mongoDB 数据库时设置基本身份验证。

通过指定查看了 mongo image 的文档

environment:
    - MONGO_INITDB_ROOT_USERNAME=admin
    - MONGO_INITDB_ROOT_PASSWORD=pass

但这似乎不起作用,当我在 nodejs (mongoose) 中使用连接字符串时

mongodb://admin:pass@mongo:27017/myDatabase

我只想设置基本身份验证以防止任何此类勒索软件攻击:

Stackoverflow MongoDB Ransomware

【问题讨论】:

    标签: node.js database mongodb authentication mongoose


    【解决方案1】:

    MONGO_INITDB_ROOT_USERNAMEMONGO_INITDB_ROOT_PASSWORD 用于设置超级用户帐户以管理整个数据库。
    您可以使用此连接字符串以管理员权限连接 mongodb://<MONGO_INITDB_ROOT_USERNAME>:<MONGO_INITDB_ROOT_PASSWORD>@mongo:27017 并创建一个数据库myDatabase,之后您还必须创建用户 允许查询数据库的角色。

    例如

    > use myDatabase
    > db.createUser({user: "user", pwd: "user", roles:["dbOwner"]})
    

    那你就可以用这个字符串连接了

    mongodb://user:user@mongo:27017/myDatabase
    

    【讨论】:

      猜你喜欢
      • 2021-04-25
      • 2017-05-03
      • 2016-04-06
      • 2019-06-11
      • 2016-12-09
      • 1970-01-01
      • 1970-01-01
      • 2023-01-31
      相关资源
      最近更新 更多