• mongoDB的权限管理


    最近做一个关于mongoDB权限的功能,

    在网上找了好久,各种命令,各种配置,各种修改,都没有解决哥的困惑.无奈,睡一觉后,灵光乍现,灵感来了.

    下面就是我的最新发现,当然在各位看官的眼里,我的这个也是一坨狗屎....不过没关系,反正是解决了我的问题

    首先在我的之前博客里说到了在win7下搭建mongoDB里面以这样的一段,看截图:

    首先记住这个地方.等会再来看看它.

    安装好了mongoDB后默认是没有任何权限控制的,在cmd窗口中敲命令:

    1.show dbs.默认有两个数据库:admin和local.才疏学浅,local没用过,不知道什么用.

    2.use admin

    3.show collections.你会看到system.users.这张集合专门用来存储超级管理员的.

    4.db.addUser('gys','123456').添加一个超级管理员.用户名是gys,密码是123456

    5.use admin.

    6.show collections.我们还是可以正常的查看数据库中的各种表.这个时候就需要我们上面提到的那个截图了

    7.首先我们把服务关闭掉.可以在"计算机"==>管理==>服务==>mongoDB.右击停止服务.

    8.把截图中的命令做一下修改:mongod.exe --dbpath=d:mongoDBdata -auth

    9.mongo admin

    10.use admin

    11.show collections

    这个时候提示没有权限了.

    12.db.auth('gys','123456').显示1,表示成功验证了.0,表示验证失败.

    13.show collections;看到了admin中的集合.

    14.use testDB.假设存在这个数据库.

    15.show collections.你会发现依然可以查看这个里面的数据,且需要权限验证.因为我们建立的是超级管理员.在有admin转向其他表的时候,是可以一路畅通无阻的.超管员的另一个功能还在于它可以给其他数据库添加权限用户.

    比如现在我们就可以给这个数据库添加一个用户.

    16.db.addUser('test','123456').

    17.ctrl+c退出.直接登录指定数据库testDB,而不是默认的连接哪个数据库,或登录的admin数据库,然后转向其他数据库.

    18.show collections.这个时候会提示没有权限.

    19.db.auth("test",123456).显示1,登录成功

    20.show collections.这样就可以查看testDB数据库中的集合了.

    差不多了.就这么多了

  • 相关阅读:
    Android 废弃方法属性解决
    Android RecycleView分组
    Android 第三方库FlycoTabLayout
    Android 自定义dialog出现的位置
    Android 底部弹窗实现
    Android 自定义设置布局
    Android 微信、qq分享文本 (Intent)
    SpringBoot关于跨域的三种解决方案
    记录一次通用Mapper+自定义mapper出现的问题分析以及排查
    IDEA配置Maven+新建Maven项目
  • 原文地址:https://www.cnblogs.com/guoyansi19900907/p/4011253.html
Copyright © 2020-2023  润新知