zoukankan      html  css  js  c++  java
  • MongoDB管理用户的认证机制

    一、MongoDB用户认证机制简介

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

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

    二、MongoDB用户认证示例

    • 在admin数据库中,创建一个超级用户,用于管理其他的的用户。
     use admin 
    db.createUser({"user":"root","pwd":"root","roles":["root"]})
    • 重新登录数据库,执行:show dbs,发现依然可以访问。我们需要开启数据库的认证机制,在配置文件中设置以下参数:
     auth=true 
    • 重启MongoDB,并且重新登录
    • 执行:show dbs,出现错误
    • 执行认证用户,执行show users查看用户信息
     use admin 
    db.auth("myadmin","password")
    show users
    • 执行:show dbs,就能正常执行了。
    • 在mydemo数据库中,创建一个新的用户
     use mydemo 
    db.createUser({"user":"user1","pwd":"password","roles":["readWrite"], db:"mydemo"})
    注意:该用户只有读的角色 
    • 执行下面的操作,进行测试。
    切换用户: db.auth("user1","password")  
    查询collection:db.emp.findOne()  --> 可以正常操作  
    插入新文档:db.testtable2.insert({"name","Tom"}) ---> 出错
    • 修改用户的密码
     db.updateUser("user1",{"pwd":"abcd"}) 
    • 查看用户:
    show users
  • 相关阅读:
    Oracle——Hint
    Oracle——package....包的概念和定义
    Oracle——sql语句执行步骤以及提高sql基本查询效率
    Oracle函数之捡漏篇
    Oracle 分析函数Over(partition by...)以及开窗函数
    初尝RabbitMQ消息队列
    Gerrit部署成功后project下不显示clone地址
    jenkins打包iOS 报错:error: exportArchive: The data couldn’t be read because it isn’t in the correct format.
    gerrit 版本下载
    grep -w ,grep -e,grep -v的使用
  • 原文地址:https://www.cnblogs.com/kinwing/p/14113278.html
Copyright © 2011-2022 走看看