MongoDb是否会在没有用户名和密码的情况下针对admin以外的数据库进行身份验证?

MongoDb是否会在没有用户名和密码的情况下针对admin以外的数据库进行身份验证?,mongodb,Mongodb,我的目标是通过连接字符串了解针对MongoDb独立实例的用户身份验证 本文档帮助很大,但有两个案例让我感到困惑: 我试图确定如果给定这三种排列,我可以构建一个有效的连接字符串吗 用户名 密码 数据库名称 其中,T是用户名、密码或数据库由用户指定的位置,而F不是: Username Password Database Valid T T T T T T F ??? T F T

我的目标是通过连接字符串了解针对MongoDb独立实例的用户身份验证

本文档帮助很大,但有两个案例让我感到困惑:

我试图确定如果给定这三种排列,我可以构建一个有效的连接字符串吗

  • 用户名
  • 密码
  • 数据库名称
其中,T是用户名、密码或数据库由用户指定的位置,而F不是:

Username Password Database Valid
T        T        T        T
T        T        F        ???
T        F        T        F
T        F        F        F
F        T        T        F
F        T        F        F
F        F        T        ???
F        F        F        T
我认为对于第二种情况(tf),我可以用“admin”代替数据库名,这样它就有机会进行身份验证

第二到最后一种情况(F T)是指定了数据库,但没有指定用户名或密码,这让我感到困惑。如果指定了“admin”数据库名称,那么这很简单……但是如果它不是“admin”,它可以进行身份验证吗

  • T T F-如果替换为“admin”数据库,如果用户是在admin数据库中创建的,则将对用户进行身份验证,否则将出现身份验证错误

  • F T-无论指定哪个数据库,它都将连接到指定的数据库,但在使用db.auth()命令进行身份验证之前,您无法执行任何操作