MongoDB的授权和权限
1. 在开启MongoDB 服务时不添加任何参数时,可以对数据库任意操作,而且可以远程访问数据库。如果启动的时候指定—auth参数,可以对数据库进行用户验证。 www.2cto.com
$ ./mongod --auth >> mongodb.log & 开启
./mongo
MongoDB shell version: 1.8.1
connecting to: test
>show dbs
admin (empty)
local (empty)
2. 添加用户
在刚安装完毕的时候MongoDB都默认有一个admin数据库,而admin.system.users中将会保存比在其它数据库中设置的用户权限更大的用户信息。
当admin.system.users中一个用户都没有时,即使mongod启动时添加了--auth参数,如果没有在admin数据库中添加用户,此时不进行任何认证还是可以做任何操作,直到在admin.system.users中添加了一个用户。
下面创建数据库tage,并给tage创建用户:
> use tage
switched to db tage
> db.addUser("tage","123")
{
"user" : "tage",
"readOnly" : false,
"pwd" : "1f66d5c4223029536080d41febe0ec33"
}
在admin库中创建root用户:
> use admin
switched to db admin
> db.addUser("root","123456")
{
"user" : "root",
"readOnly" : false,
"pwd" : "34e5772aa66b703a319641d42a47d696"
}
3. 验证用户:
> db.auth("root","123")
0 密码错误,返回0,验证失败
> db.auth("root","123456")
1 验证成功,返回1
下面试验用户权限设置:
$ ./mongo 登录时不加用户名与密码
MongoDB shell version: 1.8.1
connecting to: test
> use tage
switched to db tage
> db.system.users.find()
error: {
"$err" : "unauthorized db:tage lock type:-1 client:127.0.0.1",
"code" : 10057
}
4. 以上验证说明,登录时不指定用户名与密码,就会报错。下面指定用户与密码
$ ./mongo -uroot -p123456 指定用户与密码,但是不指定库名
MongoDB shell version: 1.8.1
connecting to: test
Wed Aug 3 21:30:42 uncaught exception: login failed
exception: login failed
mongodb登录时默认连接test库,如果登录时不指定库名,就会报错
5. 下面以tage库的用户名登录进行验证:
$ ./mongo tage -utage -p123
MongoDB shell version: 1.8.1
connecting to: tage
> db.system.users.find() 对所属自己的库进行操作,有权限
{ "_id" : ObjectId("4e394c696b50a56254359088"), "user" : "tage", "readOnly" : false, "pwd" : "1f66d5c4223029536080d41febe0ec33" }
> use admin
switched to db admin
> db.system.users.find() 对其他库操作,没有权限
error: {
"$err" : "unauthorized db:admin lock type:-1 client:127.0.0.1",
"code" : 10057
}
6. 下面以admin库下的root用户登录进行验证:
./mongo admin -uroot -p123456
MongoDB shell version: 1.8.1
connecting to: admin
> db.system.users.find()
{ "_id" : ObjectId("4e394caf6b50a56254359089"), "user" : "root", "readOnly" : false, "pwd" : "34e5772aa66b703a319641d42a47d696" }
> use tage
switched to db tage
> db.system.users.find() 对其他库进行操作,有权限
{ "_id" : ObjectId("4e394c696b50a56254359088"), "user" : "tage", "readOnly" : false, "pwd" : "1f66d5c4223029536080d41febe0ec33" }
7. mongodb的远程用户连接
语法结构:mongo –uusername –ppwd ServerIP:port/dbname
其中port默认为27017
$ ./mongo -uroot -p123456 192.168.2.150/admin
MongoDB shell version: 1.8.1
connecting to: 192.168.2.150/admin
> db.system.users.find()
{ "_id" : ObjectId("4e394caf6b50a56254359089"), "user" : "root", "readOnly" : false, "pwd" : "34e5772aa66b703a319641d42a47d696" }
相关推荐
和其他所有数据库一样,权限的管理都差不多一样。mongodb存储所有的用户信息在admin 数据库的集合system.users中,保存用户名、密码和数据库信息。mongodb默认不启用授权认证,只要能连接到该服务器,就可连接到...
MongoDB 安全权限控制 各角色及对应授权的详细说明,网上不少文档对dbAdmin这个角色的说明都是错误的,没有介绍清楚,因此自己翻译了MongoDB的官方文档
1.整合SpringBoot2.x、MongoDB、MySQL、MyBatis、SpringMVC 实现:用户、角色、菜单授权模型 权限控制细化到按钮级别; 2.使用Maven实现jar管理;
一老哥想要实现navicat远程centos7上mongodb数据库 ...然后是数据库创建用户密码以及授权就是读写权限readwrite对哪个数据库 另外, 第二个问题就是:那老哥在防火墙没做端口放行 firewall-cmd --zone=public -
本项目使用 vue + view-design + node.js + express + mongodb 技术栈进行搭建,主要用于记录个人学习进程 项目域名:thinkingbig.club 如需登录该系统,测试账号:admin,密码:admin 项目源码地址: 已实现功能...
路由,中间件,发送响应等猫鼬的基础知识:数据模型,数据验证和中间件RESTful API,包括分页,排序和限制字段MongoDB的CRUD操作安全性:加固,消毒等使用JWT进行身份验证:登录和注册授权(用户角色和权限) ...
毕业设计—基于express+redis+mongodb在线答题系统后台.zip Project setup(安装步骤) npm install Compiles and hot-reloads for development(运行后台) npm run server 用例描述 用例名称 描述 登录 用户输入邮箱和...
使用身份验证和授权 集中式错误处理 使用代码覆盖率 使用一致的编辑器配置 与Travis CI的持续集成 使用cors启用跨域资源共享(CORS) Docker支持 使用dotenv和cross-env的环境变量 Express + MongoDB(猫鼬) 沙哑...
简单讲访问控制就是指,哪些用户可以访问哪些资源,对资源有哪些操作(权限);在mongodb中我们把数据库、或者集合叫做资源;也就说访问控制是用来限制某些用户对数据库或集合的操作;我们在mysql数据库中,我们...
角色对应用程序授权(多个前台应用公用一个后台权限管理系统) 部门对用户授权 7. 提供字典表用于前台网站个性化配置 8. 完全响应式布局(支持电脑、平板、手机等所有主流设备) 9. 内置多数据源支持,配置简单...
谁说您的团队需要编写代码来构建CRUD API,身份验证和授权? 。 安装 您需要先安装和 ,然后运行: npx create-commun-app my-app cd my-app npm start 产品特点 :rocket: GraphQL和REST API支持 Commun自动准备...
用户认证和权限管理:设计用户认证系统,确保只有授权用户可以访问和操作系统。同时,设置不同用户的权限级别,如管理员、普通用户等。 图书管理模块:实现图书的添加、编辑、删除等功能,包括图书的分类、书名、...
Flask-User v1.0 注意力: Flask-User v1.0是生产/稳定版。 以前的版本是 。... 支持SQL和MongoDB数据库。 有据可查 附加的功能 麻省理工学院执照 测试在Python的2.7,3.4,3.5,3.6,3.7和3.8。 覆盖
用户认证与授权:采用安全的用户认证和授权机制,确保用户身份的安全性和权限的控制。 数据加密:对用户敏感信息和交易数据进行加密处理,保护用户隐私和数据安全。 防止注入攻击:使用参数化查询或者ORM框架来防止...
数据库选择:根据需求可能会使用MySQL、MongoDB或其他数据库系统来存储用户数据、项目信息和申报记录。 云服务:小程序可能会集成微信云开发能力,利用云函数和云数据库来实现后端逻辑,减少服务器维护工作。 安全性...
SanShanBlog是基于Spring Cloud微服务化博客社区平台,具有统一授权、主要业务系统、搜索系统、监控与链路追踪系统,其中包含 权限管理,搜索管理,网关API管理等多个模块,支持多业务系统并行开发 核心采用Spring ...
Deadbolt-2.3.2版本不支持reactive-mongo,所以我们使用JDBC维护权限,其余数据使用ReactiveMongo在Mongodb 中维护。 我们的 RDBMS 表结构和示例数据在conf/evolutions/default目录中声明。 我们的mongodb集合结构...
imethan-admin基于JAVA开发的企业级项目通用权限框架1,使用Spring作为项目基础框架,使用Spring MVC实现视图控制,整合Spring安全权限框架根据IOC容器,实现bean类的依赖注入;实现用户登录,授权,记住我,会话...
这是一个样板项目,用于使用Oak和deno_mongo创建Deno RESTful API特征模型,控制器,基于服务的项目结构MongoDB的JWT认证用户授权CORS 使用.env进行环境管理要求验证错误处理数据库播种用户角色和权限使用AES的密码...
jax-rs-pac4j项目是用于JAX-RS Web应用程序和Web服务的简单而强大的安全性库,它支持身份验证和授权,还具有注销和会话固定和CSRF保护等高级功能。 它基于Java 8,Servlet 3(如果有),JAX-RS 2和v4 。 它在Apache ...