Uploaded image for project: 'Java Driver'
  1. Java Driver
  2. JAVA-3712

User authorization issue

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 4.0.1
    • Component/s: Command Operations
    • None
    • Environment:
      system : centos 7

      平台安装了一个三个节点的MongoDB复制集群。

      当我在主节点登陆admin数据库,然后选择了其中的一个应用数据库,使用db.createUser({user:"XX",pwd:"XX",roles:[

      {role:"dbOwner",db:"XXX"}

      ]})给数据库创建了一个用户。

      然后我使用robo等工具,能使用这个账号密码访问对应的数据库,也能进行查询修改等操作。但是当我在控制台使用mongo命令连接进去之后,所有的操作都被拒绝。错误信息一直显示我一个已经删除了的test数据库权限被拒绝,跟我当前操作的数据完全不搭边。当我输入show users,类似下面的错误信息:

      ------

      2020-04-28T19:17:09.066+0800 E QUERY [js] Error: not authorized on test to execute command { usersInfo: 1.0, lsid:

      { id: UUID("fd77665d-73e4-4281-98e3-db3ef79849ca") }

      , $clusterTime: { clusterTime: Timestamp(1588072625, 1), signature:

      { hash: BinData(0, 3F0BA488A9BF081067029BC157D379CB7364AE4A), keyId: 6815855173080973313 }

      }, $db: "test" } 


      其中上述报错信息中的数据库test,是跟当前数据库完全没有任何联系的。

       

      输入show collections

      ------

      Warning: unable to run listCollections, attempting to approximate collection names by parsing connectionStatus

      ------

      接着我验证登陆 db.auth("xxxx","xxxx"),我确认了无数次,再账号密码输对的情况下还是被拒绝。这如果是个bug,希望你们能够修改。否则希望能够说明一下原因,目前我没找到遇到类似问题的答案。

       

            Assignee:
            Unassigned Unassigned
            Reporter:
            253684597@qq.com jiang yongbing
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: