Mongodb账号密码模式的基本认证

背景: 原先使用的MongoDB并没有使用账号密码的认证方式去登陆,使用的是非认证方式;现需要将其配置为以账号密码的方式去登陆和使用,配置步骤如下:

一、配置普通权限用户

1.使用MongoBooster连接上MongoDB的Server

2.执行以下脚本,创建管理用户的账户aa

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

3. 开始服务器认证模式,登陆至MongoDb服务器,在mongodb.config文件中添加auth=true,然后重启MongoDB服务

4.在MongoBooster中使用账号aa连接上MongoDb的Server

5.执行以下脚本,为test创建具有读写权限的用户dfy

use test
db.createUser({
  user:"dfy",
  pwd:"dfy",
  roles:[{role:"readWrite",db:"sc"}]
})

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

Built-In Roles(内置角色):1. 数据库用户角色:read、readWrite;2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;4. 备份恢复角色:backup、restore;5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase,userAdminAnyDatabase、dbAdminAnyDatabase6. 超级用户角色:root  7. 内部角色:__system

二、创建超级用户(不建议使用)

1.使用MongoBooster连接上MongoDB的Server,执行下以脚本,创建超级用户CC

use admin
db.createUser({
user:"CC",
pwd:"CC",
roles:[{role:"root",db:"admin"}]
})

2.按配置普通权限用户中的步骤3开始服务器的认证模式即可,账号CC具有超级管理员的权限

三、如何在Web中使用新配置的MongoDB的账号密码?

  1. 在MongoBooster的连接配置页面,点击To URI按钮,可以看到获得当前的连接串,新的连接串中包含账号密码信息
  2. 在Web.config中,将原先的MongoDB的连接串替换为当前新的连接串即可
时间: 2024-07-31 14:31:37

Mongodb账号密码模式的基本认证的相关文章

【ASP.NET Core分布式项目实战】(一)IdentityServer4登录中心、oauth密码模式identity server4实现

原文:[ASP.NET Core分布式项目实战](一)IdentityServer4登录中心.oauth密码模式identity server4实现 本博客根据http://video.jessetalk.cn/my/course/5视频整理 资料 OAuth2 流程:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 博客园晓晨的关于identityServer4的中文文档地址: http://www.cnblogs.com/stulzq

Spring Security OAuth2 Demo —— 密码模式(Password)

前情回顾 前几节分享了OAuth2的流程与授权码模式和隐式授权模式两种的Demo,我们了解到授权码模式是OAuth2四种模式流程最复杂模式,复杂程度由大至小:授权码模式 > 隐式授权模式 > 密码模式 > 客户端模式 其中密码模式的流程是:让用户填写表单提交到授权服务器,表单中包含用户的用户名.密码.客户端的id和密钥的加密串,授权服务器先解析并校验客户端信息,然后校验用户信息,完全通过返回access_token,否则默认都是401 http状态码,提示未授权无法访问 本文目标 编写与

Nodejs通过账号密码连接MongoDB数据库

转自https://blog.csdn.net/szu_lzz/article/details/77435804#commentBox 1.创建管理员 首先开启Mongo服务,然后切换admin数据库,一开始是没有这个数据库的. > use admin 1 2.然后创建用户和密码: > db.createUser({user:'root',pwd:'root1234',roles:['root']}) 1 3.创建了管理员账号和密码之后,然后运行Mongo服务的时候加上 –auth参数: mo

PostgreSQL远程连接配置管理/账号密码分配(解决:致命错误: 用户 "postgres" Ident 认证失败)

问题:致命错误: 用户 "postgres" Ident 认证失败 说明:这个是由于没有配置远程访问且认证方式没改造成的,只需要更改使用账号密码认证即可. 解决:找到pg_hba.conf(find / -name pg_hba.conf),METHOD的ident修改为md5,且把ip端改为0.0.0.0/0,或者想要的IP地址即可.修改完成后直接reload即可. 特别吐槽:网上说直接trust,其实这个意思是只验证用户名,不验证密码!千万不要这样使用!!! METHOD指定如何处

asp.net core 使用identityServer4的密码模式来进行身份认证(一)

原文:asp.net core 使用identityServer4的密码模式来进行身份认证(一) IdentityServer4是ASP.NET Core的一个包含OpenID和OAuth 2.0协议的框架.具体Oauth 2.0和openId请百度. 前言本博文适用于前后端分离或者为移动产品来后端api的身份认证功能. 一 首先第一步使用Nuge包管理器下载IdentityServer4的包. 第二部,添加一个名叫Config的类. 这个类的作用是对一些api和client进行配置的. pub

asp.net core 使用identityServer4的密码模式来进行身份认证(2) 认证授权原理

原文:asp.net core 使用identityServer4的密码模式来进行身份认证(2) 认证授权原理 前言:本文将会结合asp.net core 认证源码来分析起认证的原理与流程.asp.net core版本2.2 对于大部分使用asp.net core开发的人来说. 下面这几行代码应该很熟悉了. services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { o

Centos6.5部署openvpn账号密码方式登录

server端(路由模式): 一.网络设置 1.开启服务器端路由转发功能 # vi /etc/sysctl.conf net.ipv4.ip_forward = 1 # sysctl -p 2.设置nat转发: 注:保证VPN地址池可路由出外网 # iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERAD 3.时间同步: # ntpdate asia.pool.ntp.org 二.安装依赖库 # yum install

堡垒机的功能之解决账号密码管理不规范问题

随着企业IT系统规模的不断扩大,业务范围的快速扩张,运维工作量也随之增多,企业账号密码的安全性越来越无法得到保障.作为IT系统看门人的行云管家运维堡垒机,如何解决企业运维账号密码管理不规范的问题呢? 企业运维存在账号密码管理不规范问题 当前企业的支撑系统中存在大量主机系统.应用系统.这些资源都隶属于不同的部门与不同的业务系统.每一个应用系统都有一套独立的账号体系,企业管理人员为了方便登陆,经常会出现多个用户使用一个账号或一个用户使用多个账号的情况,因此当系统发生问题后,企业无法精确定位恶意操作或

SQL Server遗失管理权限账号密码怎么办?

原文:SQL Server遗失管理权限账号密码怎么办? 假如一个SQL Server实例只允许"SQL身份认证"模式登录数据库,而糟糕的是你忘记了sa的密码(sa出于安全考虑应该被禁用,这里仅仅为了描述问题)或其它具有sysadmin角色的登录名的密码?个人就遇到这样一个案例,HK一同事在一台测试服务器安装了一个测试用途的SQL Server数据库,然后这个同事离职前没有交接这个测试服务器任何信息.那现在就麻烦了.我没有任何权限,我如何获取sysadmin的权限呢?或者还有比较多的场景