MongoDB添加认证

  • 创建用户管理员

  在admin数据库中,添加具有该userAdminAnyDatabase角色的用户 。根据需要为此用户添加其他角色。

  注意:创建用户的数据库(在此示例中为 admin)是用户的身份验证数据库。虽然用户将对此数据库进行身份验证,但用户可以在其他数据库中拥有角色; 即用户的身份验证数据库不限制用户的权限

  以下内容使用角色和 角色myUserAdminadmin数据库中创建用户;创建用户的数据库(在此示例中为 admin)是用户的身份验证数据库

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

  

  停止MongoDB

service mongod stop

  

  • 修改配置文件

 在/etc/mongod.conf中添加:

security:
  authorization: enabled

  

  • 以用户管理员身份进行连接和身份验证

  验证方式:

  1. 通过传入用户凭据来连接身份验证
mongo命令使用:-u <username>-p <password>--authenticationDatabase <database>

  

  2.首先进行无需身份验证的连接,然后发出db.auth()要进行身份验证;

  切换到身份验证数据库(在本例中为admin),并使用 方法进行身份验证:db.auth(<username>,<pwd>)

use admin
db.auth("myUserAdmin", "abc123" )

  

  授权方式:

#更新角色:db.updateUser( "userName" , [ { role: "<role>", db: "<database>" } ]) 
db.updateUser( "myuser" , [ { role: "dbOwner", db: "mydb" } ])

#授予角色:db.grantRolesToUser( "userName" , [ { role: "<role>", db: "<database>" } ]) db.grantRolesToUser( "myuser" , [ { role: "dbOwner", db: "mydb" } ]) #取消角色:db.grantRolesToUser( "userName" , [ { role: "<role>", db: "<database>" } ]) db.revokeRolesFromUser( "myuser" , [ { role: "readWrite", db: "mydb" } ])

  

参考:https://docs.mongodb.com/manual/tutorial/enable-authentication/

转载于:https://www.cnblogs.com/coder-zyc/p/9973985.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值