【赵强老师】MongoDB管理用户的认证机制[通俗易懂]

【赵强老师】MongoDB管理用户的认证机制[通俗易懂]一、MongoDB用户认证机制简介 为了认证客户端,你必须要添加一个对应的用户到MongoDB。基本的步骤分为以下几步: 用户管理接口:db.createUser()方法可以创建一个用户,添加完成后…

【赵强老师】MongoDB管理用户的认证机制

【赵强老师】MongoDB管理用户的认证机制[通俗易懂]

一、MongoDB用户认证机制简介

为了认证客户端,你必须要添加一个对应的用户到MongoDB。基本的步骤分为以下几步:

  • 用户管理接口:db.createUser()方法可以创建一个用户,添加完成后可以分配角色给用户,第一个用户必须是管理员,用来管理其他用户。你也可以更新存在的用户,必须修改密码和权限。
  • 认证数据库:当添加一个用户后,你在某个指定的数据库中添加该用户,那么这个数据库对于该用户就是个认证数据库。一个用户可以有权限访问多个数据库,通过分配角色权限来做到。
  • 认证用户:为了认证用户,可以通过db.author()方法。

二、MongoDB用户认证示例

  • 在admin数据库中,创建一个超级用户,用于管理其他的的用户。
use admin
db.createUser({"user":"myadmin","pwd":"password","roles":["root"]})

代码100分

  • 重新登录数据库,执行:show dbs,发现依然可以访问。我们需要开启数据库的认证机制,在配置文件中设置以下参数:
代码100分auth=true
  • 重启MongoDB,并且重新登录

【赵强老师】MongoDB管理用户的认证机制[通俗易懂]

  • 执行:show dbs,出现错误

【赵强老师】MongoDB管理用户的认证机制[通俗易懂]

  • 执行认证用户,执行show users查看用户信息
use admin
db.auth("myadmin","password")
show users

【赵强老师】MongoDB管理用户的认证机制[通俗易懂]

  • 执行:show dbs,就能正常执行了。
  • 在mydemo数据库中,创建一个新的用户
代码100分use mydemo
db.createUser({"user":"user1","pwd":"password","roles":["read"]})
注意:该用户只有读的角色
  • 执行下面的操作,进行测试。
切换用户:
db.auth("user1","password")

查询collection:db.emp.findOne()  --> 可以正常操作

插入新文档:db.testtable2.insert({"name","Tom"}) ---> 出错
  • 修改用户的密码
db.updateUser("user1",{"pwd":"abcd"})
  • 查看用户:show users

【赵强老师】MongoDB管理用户的认证机制[通俗易懂]

【赵强老师】MongoDB管理用户的认证机制[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7950.html

(0)
上一篇 2023-03-10
下一篇 2023-03-10

相关推荐

  • 4.DBus学习

    4.DBus学习1、什么是DBus DBus(数据总线)项目为了统一数据采集需求而生, 专注于数据的收集及实时数据流计算,通过简单灵活的配置,以无侵入的方式对源端数据进行采集,采用高可用的流式计算框架,对公司各个I…

    2023-03-31
    264
  • 应用交付全球领导者F5 举行“代码到用户”线上峰会「建议收藏」

    应用交付全球领导者F5 举行“代码到用户”线上峰会「建议收藏」    2020年5月20日,F5“代码到用户”线上峰会,暨F5中国20周年纪念庆典将正式拉开帷幕。   去年7月1日,F5正式宣布著名华裔科学家林耕就任F5执行副总裁兼首席技术官,负责F5公司技术…

    2023-02-28
    146
  • 高可用 | Xenon:后 MHA 时代的选择

    高可用 | Xenon:后 MHA 时代的选择开源 MySQL 高可用工具 Xenon 的简介及架构设计原理。

    2023-04-16
    144
  • mysql定时备份 任务计划_mysql 定时任务与事件

    mysql定时备份 任务计划_mysql 定时任务与事件简介 在生产环境上,为了避免数据的丢失,通常情况下都会定时的对数据库进行备份。而Linux的crontab指令则可以帮助我们实现对数据库定时进行备份。首先我们来简单了解crontab指令,如果你会了…

    2023-03-15
    155
  • Python的os.rename:批量修改文件名变得轻松

    Python的os.rename:批量修改文件名变得轻松os.rename()是Python标准库中的内置函数,用于对文件或目录进行重命名操作。它可以重命名一个文件或目录,也可以将一个文件或目录移动到一个新的位置以完成重命名操作。使用os.rename函数可以快速、简便地批量修改文件名,是Python中非常有用的功能。

    2024-03-21
    73
  • 优化Python代码的技巧:使用assertion

    优化Python代码的技巧:使用assertion在Python中,assertion是一种用于检测代码中特定条件是否为真的工具。它通常用来检查代码是否正确地执行了预期的操作,以及数据是否具有正确类型和已赋正确值。assertion是一种被广泛使用的调试技术,特别适用于需要快速理解代码中的问题所在的情况。

    2024-02-13
    94
  • 如何完全卸载Anaconda

    如何完全卸载AnacondaAnaconda是一个数据分析平台,包含了Python、R等常用的数据科学的工具。但是,如果你需要卸载Anaconda,可能需要注意到一些细节,下面是一个完整的卸载Anaconda的指南。

    2024-08-19
    22
  • Python最新版本发布

    Python最新版本发布Python是一种高级编程语言,它的设计哲学强调代码的可读性和简洁性。在许多方面,Python都被认为是一种易学易用的语言。Python拥有丰富和强大的库,可以完成各种各样的任务。Python还有大量的粉丝和开发者社区,他们不断推进Python的发展。

    2024-08-22
    23

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注