zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    Pro Andorid3第二章:设置开发环境
    Seminar 记录
    安装CGAL
    Literature review
    第七章:清楚简洁的英文 《英语科技写作(文法与修辞原则)》by 方克涛
    幻灯片制作去除模板背景
    vs2008下设置.h, .lib和 .dll 的路径配置全图及其意义
    配置环境变量
    PPT制作技巧
    #include文件时用双引号和尖括号的区别
  • 原文地址:https://www.cnblogs.com/coder-zyc/p/9973985.html
Copyright © 2011-2022 走看看