zoukankan      html  css  js  c++  java
  • mongodb 创建用户

    mongodb登陆需要创建用户,你可以在服务启动时配置要创建的用户.但是root用户只能在admin库里使用,如果要获取生产可用的登陆用户,需要再创建新的用户.

    创建

    db.createUser(
      {
        user: "liu3",
        pwd: "123456",
        roles: [ { role: "readWrite", db: "admin" }, "readWrite" ]
      }
    )
    

    这里要说明的是,如果没有在roles可以指定多个,db缺失则认为是当前库.同时你在哪个库里创建的角色该角色就在哪个库里可见.比如我这个是在db one中创建,则用户信息如下:

    { "_id" : "one.liu3", "userId" : UUID("797e003f-4840-4da7-86e8-ae1f88bcc393"), "user" : "liu3", "db" : "one", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "BTOSoTtUIs4q8iMQeo9Ciw==", "storedKey" : "6aBk67ASyql+GIhQsNCIu+Xi0WI=", "serverKey" : "wK0z372ySp/qCjHKoQ1/HZ68UG4=" }, "SCRAM-SHA-256" : { "iterationCount" : 15000, "salt" : "n9ZL9VZ6s3OnjecgHuuUb+JbMPk7cVusgLHtog==", "storedKey" : "3qjvr+QI5j24zrXm3hRdlzrFwOEKKCqTf+J8tRQT/pc=", "serverKey" : "ZjrPSZ/NNWGY178bVNN8RSDFhDcwnoXFzDk+6L+tQtA=" } }, "roles" : [ { "role" : "readWrite", "db" : "admin" }, { "role" : "readWrite", "db" : "one" } ] }
    

    实际外部配置中,你只能选择一个连接库内部的用户,否则会提示认证异常.比如spring boot的连接配置:

    spring.data.mongodb.uri=mongodb://liu3:123456@localhost:27017/one
    

    role支持的角色可以是预定义角色和自定义角色,预定义角色常用的有:

    1 数据库用户角色 (客户端角色)    
    read readWrite    
    2 管理员角色    
    dbAdmin dbOwner userAdmin    
    3 集群管理员角色    
    clusterAdmin clusterManager clusterMonitor hostManager     
    4 备份,恢复角色    
    backup restore 
    5 通用数据库角色
    readAnyDatabase readWriteAnyDatabase userAdminAnyDatabase dbAdminAnyDatabase     
    6 超级角色    
    root
    7 内部角色    
    __system
    

    实际使用要注意角色的适用范围.

    参考资料:

    mongodb 预定义角色
    自定义角色

    喜欢关注一下,不喜欢点评一下
  • 相关阅读:
    Asp.net MVC 中Ajax的使用
    MVC Controller return 格式分类及用法
    【金楽】老博客地址
    C语言博客作业--结构体
    结构体、共用体、枚举博客转载
    C博客作业--指针
    C语言博客作业--字符数组
    C语言博客作业--一二维数组
    C语言博客作业--数据类型
    C语言博客作业--函数
  • 原文地址:https://www.cnblogs.com/chengmuyu/p/15257800.html
Copyright © 2011-2022 走看看