亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

MongoDB身份認證機制揭秘!

检查MongoDB服务器的身份验证状态,使用MongoDB的shell或者命令行工具。

1 使用MongoDB Shell

1.1 连接到admin数据库

因为大多数身份验证相关的命令需要在admin数据库中运行:

use admin

1.2 检查服务器的身份验证状态

db.runCommand({getParameter: 1, authenticationMechanisms: 1})

如服务器启用身份验证,会看到类似输出:

{
  "authenticationMechanisms" : [
    "SCRAM-SHA-256",
    "SCRAM-SHA-1"
  ],
  "ok" : 1
}

2 使用mongostat

一个监控MongoDB实例的工具。你可以使用它来检查服务器的状态,包括身份验证状态。

  1. 在命令行中输入以下命令
mongostat --uri "mongodb://localhost:27017/admin"

如果服务器启用了身份验证,mongostat会提示你输入用户名和密码。

2 db.auth()

如已连接到MongoDB服务器,db.auth()测试身份验证,如:

3 创建管理员用户

运行命令前,确保MongoDB服务器已经启用了身份验证。否则,这个命令将不会起作用。

创建新用户:

db.createUser({
  user: "admin",
  pwd: "password",
  roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})

roles指定用户角色。userAdminAnyDatabase角色允许用户在所有数据库中创建和修改用户。

执行成功的输出:

{
  "ok" : 1
}

可用这个用户名和密码来连接到MongoDB服务器并进行身份验证。

MongoDB 4.0或更高版本,用SCRAM-SHA-256身份验证机制。可在db.createUser()添加mechanisms字段:

db.createUser({
  user: "myUser",
  pwd: "myPassword",
  roles: [ { role: "userAdminAnyDatabase", db: "admin" } ],
  mechanisms: [ "SCRAM-SHA-256" ]
})

创建用户后,测试身份验证:

db.auth("myUser", "myPassword")

如果身份验证成功,你会看到1,否则0

关注我,紧跟本系列专栏文章,咱们下篇再续!

作者简介:魔都架构师,多家大厂后端一线研发经验,在分布式系统设计、数据平台架构和AI应用开发等领域都有丰富实践经验。

各大技术社区头部专家博主。具有丰富的引领团队经验,深厚业务架构和解决方案的积累。

负责:

  • 中央/分销预订系统性能优化
  • 活动&券等营销中台建设
  • 交易平台及数据中台等架构和开发设计
  • 车联网核心平台-物联网连接平台、大数据平台架构设计及优化
  • LLM Agent应用开发
  • 区块链应用开发
  • 大数据开发挖掘经验
  • 推荐系统项目

目前主攻市级软件项目设计、构建服务全社会的应用系统。

参考:

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
1.4萬
獲贊與收藏
1479

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消