Docs 菜单

Docs 主页开发应用程序MongoDB Manual

db.auth()

在此页面上

  • 定义
  • 语法
  • 行为
  • 例子
db.auth()

允许用户从 Shell 内对数据库进行身份验证。

提示

mongo shell 的 4.2 版开始,您可以将 passwordPrompt() 方法与各种用户身份验证/管理方法/命令结合使用,以提示输入密码,而不是直接在方法/命令调用中指定密码。不过,您仍然可以像使用早期版本的 mongo shell 一样直接指定密码。

如果使用db.auth(<username>, <password>)语法并省略密码,系统将提示用户输入密码。

db.auth()采用以下语法形式:

您可以执行以下任一操作:

  • 省略密码以提示用户输入密码:

    db.auth( <username> )
  • 使用 passwordPrompt() 提示用户输入密码:

    db.auth( <username>, passwordPrompt() )
  • 指定明文密码。

    db.auth( <username>, <password> )
db.auth( {
user: <username>,
pwd: passwordPrompt(), // Or "<cleartext password>"
mechanism: <authentication mechanism>,
digestPassword: <boolean>
} )
范围
类型
说明
user
字符串
对该数据库具有访问特权的用户的名称。
pwd
字符串

用户的密码。该值可为以下任一项:

  • 以明文字符串表示的用户密码,或

  • passwordPrompt() 提示输入用户密码。

提示

mongo shell 的 4.2 版开始,您可以将 passwordPrompt() 方法与各种用户身份验证/管理方法/命令结合使用,以提示输入密码,而不是直接在方法/命令调用中指定密码。不过,您仍然可以像使用早期版本的 mongo shell 一样直接指定密码。

使用用户文档事务语法时,不能省略pwd

mechanism
字符串

可选。要使用的authentication mechanism

有关可用机制,请参阅authentication mechanisms

如果未指定,则使用hello命令确定指定用户的 SASL 机制。请参阅saslSupportedMechs

digestPassword
布尔

可选。确定所提供的密码在与指定的身份验证机制一起使用之前是否应进行预哈希处理。

  • 对于 SCRAM-SHA-1,尽管您可以指定 true,但将此值设置为 true 并不能提高安全性,并且可能会干扰使用其他机制的档案。

  • 对于所有其他方法,该值均须设为 false(默认值)。任何其他值均会导致身份验证失败,因为这些方法无法理解 MongoDB 预哈希操作。

默认值为 false

注意

mongosh会从保存的历史记录中排除所有db.auth()操作。

返回:
身份验证 不成功 时,db.auth() 返回01 ;操作成功时,返回 。

从 MongoDB4 开始。2 ,如果发出 的客户端在操作完成之前断开连接,MongoDBdb.auth() 会使用db.auth() killOp将 标记为终止。

提示

mongo shell 的 4.2 版开始,您可以将 passwordPrompt() 方法与各种用户身份验证/管理方法/命令结合使用,以提示输入密码,而不是直接在方法/命令调用中指定密码。不过,您仍然可以像使用早期版本的 mongo shell 一样直接指定密码。

如果使用db.auth(<username>, <password>)语法并省略密码,系统将提示用户输入密码。

要在连接mongosh db.auth()后进行身份验证,请在用户的 身份验证数据库 中发出 :

use test
db.auth( "myTestDBUser", passwordPrompt() )

您可以完全省略password值以提示用户输入密码:

use test
db.auth( "myTestDBUser" )

从 MongoDB 5开始。 0 ,如果您的连接指定了--apiStrict选项,则您不能使用db.auth()方法:

  • 在同一数据库上以同一用户身份再次进行身份验证。

  • 使用与之前在同一数据库上进行身份验证时不同的用户来进行身份验证。

  • 先前在不同数据库上进行身份验证后,使用新数据库进行身份验证。

或者,您可以使用mongosh的命令行选项--username--password--authenticationDatabase--authenticationMechanism在连接mongosh时指定身份验证档案:

mongosh --username "myTestDBUser" --password --authenticationDatabase test --authenticationMechanism SCRAM-SHA-256
← 用户管理方法