• 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/

  • 相关阅读:
    Java基础6
    多行文本框回车换行设置
    CentOS7系统配置国内yum源和epel源
    System Integrity Protection (SIP) iOS10.15安装软件提示文件损坏问题解决方法
    转载:Spring Boot 不使用默认的 parent,改用自己的项目的 paren
    微软Speech语音合成技术
    反编译工具
    线性链表的代码实现
    不一样的鸡汤,你有房吗?你有车吗?你有房车吗?
    递归,迭代和回调
  • 原文地址:https://www.cnblogs.com/coder-zyc/p/9973985.html
Copyright © 2020-2023  润新知