• 开启MongoDB客户端访问控制


    参考官方文档:https://docs.mongodb.org/v2.6/tutorial/enable-authentication/

    基于版本:MongoDB 2.6

    概览

    在MongoDB数据实例上开启了访问控制,约束了用户必须在连接MongoDB的时候认证一下。在这个步骤中,你开启访问控制,然后创建的第一个用户必须是一个administrator的用户。这个administrator用户用来创建其他的用户。

    注意事项

    如果你在开启访问控制之前,创建了一个administrator用户,那么就关闭了localhost exception,在这种情况下,你必须使用'Enable Authentication after Creating the User Administrator'的步骤来开启访问控制。

    这里主要是说明'Enable Authentication after Creating the User Administrator的方式开启访问控制(即先创建第一个用户然后开启认证):

    步骤:

      1.使用无认证的方式启动MongoDB

        比如:mongod --port 27017 --dbpath c:datadb1

      2.创建administrator用户

        这个用户有且仅有userAdminAnyDatabase这个角色的权限。

        比如:创建一个用户名为siteUserAdmin的用户在admin数据库中,(必须是在admin数据库中创建)。

        use admin

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

        对于角色、权限以及创建用户的命令,请参考:创建一个administrator用户 角色以及db.createUser()

      3.以认证的方式启动MongoDB数据库

        mongod --auth --port 27017 --dbpath /data/db1

      4.创建其他的用户

       文档参考:https://docs.mongodb.org/v2.6/tutorial/add-user-to-database/

       1.用有合适权限的用户连接MongoDB实例

         比如:使用刚才创建的administrator用户siteUserAdmin,

          mongo --port 27017 -u siteUserAdmin -p password --authenticationDatabase admin

       2.创建一个新用户

        创建用户语法可以参考:db.createUser()

        下面的例子是在reporting数据库中创建一个用户。

        use reporting  

        db.createUser(
          {
            user: "reportsUser",
            pwd: "12345678",
            roles: [
              { role: "read", db: "reporting" },
              { role: "readWrite", db: "reporting" }
            ]
          }
        )

        其中,use reporting命令,如果没有reporting数据库,则创建这个reporting数据库。

        如果要认证这个reportUser用户,就必须在reporting数据库中认证。

  • 相关阅读:
    iOS开发网络篇—数据缓存
    iOS开发网络篇—监测网络状态
    AFNetworking 接收text/html格式返回数据
    ios移动APP支付方案
    iOS开发网络篇—发送json数据给服务器以及多值参数
    AFNetWorking https SSL认证
    CocoaPods版本升级
    内存管理
    init 用法
    Class 用法
  • 原文地址:https://www.cnblogs.com/machanghai/p/5164534.html
Copyright © 2020-2023  润新知