首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mongodb身份验证应用程序- db.auth()

Mongodb身份验证应用程序- db.auth()
EN

Stack Overflow用户
提问于 2016-12-08 13:10:33
回答 1查看 3.6K关注 0票数 2

我有一个node js程序,它使用mongodb作为其dbs,它看起来如下所示:

代码语言:javascript
复制
show dbs
  test
  eas
use eas
show collections
  nodeurls
  nodes
  users

在这个阶段,每个人都可以访问mongo并查看其中的所有集合和数据。但是,我想添加身份验证,这样某人首先必须对mongo进行身份验证,然后才能查看mongo数据。

我发现了这个:https://docs.mongodb.com/manual/core/authentication/

并且尝试过使用db.auth()方法,但是我不明白它是如何完全工作的。

我假设我首先必须创建一个用户(我只想要一个用于db mongo shell的用户),然后用户需要进行身份验证?

在这方面的任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2016-12-08 15:36:31

对于这一点

但是,我想添加身份验证,这样某人首先必须对mongo进行身份验证,然后才能查看mongo数据。

根据文档这里,我以以下方式创建了用户名/密码身份验证。

以这种方式在admin中创建用户。

代码语言:javascript
复制
db.CreateUser({
  "user" : "sfk",
  "db" : "admin",
  "roles" : [
          {
                  "role" : "root",
                  "db" : "admin"
          }]
})

因此,身份验证适用于所有数据库。所以显示dbs,在任何数据库中显示集合都可以工作。

连接外壳的方法是,

从参数auth开始

C:\MongoDB\Server\3.2\bin\mongod.exe --奥斯丁--端口27017

然后打开带有身份验证的mongo。

C:\MongoDB\Server\3.2\bin\mongo.exe --端口27017 -u "sfk“-p "sfk”--认证数据库"admin“

其中u-用户名,p-密码

现在,我们可以在任何数据库上发出任何命令。

我们还可以对特定数据库的用户进行身份验证,如文档中所示。

代码语言:javascript
复制
db.createUser(
  {
    user: "reportsUser",
    pwd: "12345678",
    roles: [
       { role: "read", db: "reporting" },
       { role: "read", db: "products" },
       { role: "read", db: "sales" },
       { role: "readWrite", db: "accounts" }
    ]
  }
)

使用db.auth

在没有认证的情况下启动mongo。然后移到管理分局。

代码语言:javascript
复制
use admin
db.auth("username", "psw")

现在对用户进行身份验证。

如果需要任何额外的细节,请发表评论。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41040335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档