MongoDB实验——MongoDB配置用户的访问控制

这篇具有很好参考价值的文章主要介绍了MongoDB实验——MongoDB配置用户的访问控制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MongoDB 配置用户的访问控制

一、 实验原理

理解admin数据库:安装MongoDB时,会自动创建admin数据库,这是一个特殊数据库,提供了普通数据库没有的功能,例如,有些账户角色赋予用户操作多个数据库的权限,而这些角色只能在admin数据库中创建。检查凭证时,MongoDB将在指定数据库和admin数据库中检查用户账户。

创建用户账户

数据库管理的一个重要部分是创建能够管理用户和数据库以及读写数据库的用户账户。要添加用户,可在MongoDB shell中使用方法createUser()。createUser()将一个文档对象作为参数,让您能够指定用户名、角色和密码。下面列出了可在文档对象中指定的字段。

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

MongoDB提供了多种可分配给用户账户的角色,这些角色让您能够赋予用户账户复杂的权限和限制。下面列出了一些可分配给用户的常见角色。

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

提示:角色readAnyDatabase、readWriteAnyDatabase、dbAdminAnyDatabase和userAdminAnyDatabase只能分配给admin数据库中的用户账户,因为它们指定的是对所有数据库的权限

二、实验步骤

  1. 启动MongoDB数据库
  2. 现在创建一个超级账号

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

创建成功,其中user为用户名,pwd为密码,roles为指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。role里的角色可以选。

  1. 接下来我们关闭MongoDB数据服务,验证root账户

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

  1. 登录前应启用身份验证,打开mongodb.config文件,将"#auth =true"前面的#去掉。

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

  1. 开启mongod服务

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

  1. 下面我们使用root超级用户,并指定admin库进行登录

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

  1. 查询当前正在使用的数据库并查询所有数据库名称

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

  1. 在test数据库下,创建只读用户和读写用户

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

  1. 查看当前库下的所有用户

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

上面创建了2个账号,现在验证其权限

  1. 输入exit命令,退出当前用户,进入到只读用户’zhangyur’。

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

  1. 向集合mycollection中插入数据

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

插入失败,因为我们当时创建用户时就只赋予它只读权限,因此无法插入数据,我们切换到拥有读写权限的’zhangyu’用户,再次插入数据。

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

  1. 跨库创建用户,切换到admin数据库,登录root用户,在admin库下创建test库的用户

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

  1. 查询所有用户

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

  1. 可以看到在admin库下存在’test’库的账户kuaku,切换到test库下验证kuaku用户。

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

认证失败!我们再切换到’admin’库下验证kuaku用户。

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

认证成功!结果说明了在admin下创建的用户,不能直接在其他库验证,只能在用户的创建库下认证,数据库帐号是跟着数据库来走的,哪里创建哪里认证。

  1. 创建了这么多用户,我们来查询一下所有用户

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

  1. 删除‘kuaku’用户

MongoDB实验——MongoDB配置用户的访问控制,MongoDB,mongodb,数据库

至此,实验结束!文章来源地址https://www.toymoban.com/news/detail-684093.html

到了这里,关于MongoDB实验——MongoDB配置用户的访问控制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MongoDB实验——在MongoDB集合中查找文档

    1.掌握在 MongoDB中查询文档操作 2.掌握查找单个文档、多个文档、使用查询运算符根据字段值查找文档,根据子文档查找文档的方法 MongoDB 支持多种复杂的查询方式,能实现大多数 T-SQL 功能,远不是 Key-Value 之类的 NoSQL DB 所能比拟的。 Conditional Operator : $lt , $lte =, $gt , $gte = Con

    2024年02月10日
    浏览(37)
  • 【Spring Boot项目】根据用户的角色控制数据库访问权限

    在一些特定的业务需求下,要求创建只读用户,但是由于一些查询请求使用的是POST方法,因此在网关层面配置只允许请求GET方法又无法满足。所以就想到了是否可以在 JDBC 层面控制,判断角色并且只允许执行 SELECT 类型的SQL语句。 在Spring Boot项目中,我们可以通过结合网关和

    2024年02月06日
    浏览(57)
  • MongoDB 设置账号密码_mongodb设置用户名和密码

    1、安装 安装可以看我这篇文章:https://blog.csdn.net/u014641168/article/details/123937775 2、说明 由于默认安装的MongoDB是没有设置用户密码的,极其危险,所以需要设置一下用户密码 3、创建用户 用Navicat15连接MongoDB,正常连接没有问题。 执行命令 使用admin数据库 输入创建用户命令,返

    2024年02月02日
    浏览(44)
  • MongoDB实验——在Java应用程序中操作 MongoDB 数据

    1. 启动MongoDB Shell 2. 切换到admin数据库,使用root账户 3.开启Eclipse,创建Java Project项目,命名为MongoJava File -- New -- Java Project 4.在MongoJava项目下新建包,包名为mongo MongoJava右键 -- New -- mongo 5. 在mongo包下新建类,类名为mimalianjie mongo右键 -- New -- Class 6. 添加项目依赖的jar包,右键单

    2024年02月10日
    浏览(35)
  • SpringBoot 如何使用 Spring Data MongoDB 访问 MongoDB

    在现代应用程序开发中,许多应用都依赖于数据库来存储和检索数据。MongoDB 是一个流行的 NoSQL 数据库,而 Spring Boot 是一个广泛使用的 Java 开发框架。本文将介绍如何使用 Spring Boot 和 Spring Data MongoDB 来访问和操作 MongoDB 数据库。 MongoDB 是一个开源的 NoSQL 数据库,它以文档的

    2024年02月07日
    浏览(38)
  • MongoDB——MongoDB删除系统自带的local数据库

    1.1、linux环境进入mongo客户端 输入 mongo 命令,进入命令行客户端 进入admin库,并登录,查看所有数据库 提升用户权限,然后进入local库并删除local库 然后重新进入admin库,把提升的用户权限降回,再次查看所有数据库 由上图可知,local库已被删除。

    2024年02月06日
    浏览(54)
  • 【数据库MongoDB】MongoDB与大数据关系以及MongoDB中重要的进程:mongod进程与mongo进程关系

    云计算的定义有多种说法,对于到底什么是云计算,我们至少可以找到100种解释。目前广为接受的是美国国家标准与技术研究院定义: 云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器

    2024年02月02日
    浏览(68)
  • [虚幻引擎 MongoDB Client 插件说明] DTMongoDB MongoDB数据库连接插件,UE蓝图可以操作MongoDB数据库增删改查。

    本插件可以在UE里面使用蓝图操作MongoDB数据库, 对数据库进行查询,删除,插入,替换,更新操作。 插件下载地址在文章最后。 Create MongoDB Client - 创建客户端对象 创建一个 MongoDB 客户端对象。 Connect By Url - 连接到数据库 Url :MongoDB的连接地址。 如 mongoDB://account:password@ip:

    2024年02月14日
    浏览(91)
  • mongodb建用户

    玛德折腾了2个小时,、mongodb 建用户。艹 [root@k8-master mongodb]# cat docker-compose.yaml version: \\\'2\\\' services: mongodb: container_name: mongodb_2.0 image: mongo:4.4 restart: always environment: TZ: \\\'Asia/Shanghai\\\' MONGO_INITDB_ROOT_USERNAME: admin MONGO_INITDB_ROOT_PASSWORD: glr@cems135 MONGO_INITDB_DATABASE: geodata MONGO_INITDB_USERNAME: c

    2024年02月11日
    浏览(27)
  • 〖Python 数据库开发实战 - MongoDB篇⑧〗- MongoDB的数据结构

    订阅 Python全栈白宝书-零基础入门篇 可报销! 白嫖入口-请点击我。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏, 免费阶段订阅数量4300+ , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:加入社区的小伙

    2023年04月09日
    浏览(77)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包