Docs Menu
Docs Home
/ /

db.auth() (método mongosh)

db.auth()

Permite que un usuario se autentique en la base de datos desde dentro del shell.

Tip

Puedes utilizar el passwordPrompt() El método, junto con diversos métodos y comandos de gestión de autenticación de usuarios, solicita la contraseña en lugar de especificarla directamente en la llamada al método o comando. Sin embargo, aún puede especificarla directamente, como lo hacía con versiones anteriores del mongo shell.

Si utiliza la sintaxis db.auth(<username>, <password>) y omite la contraseña, se le solicitará al usuario que ingrese una contraseña.

Este método está disponible en implementaciones alojadas en los siguientes entornos:

Importante

Este comando no es compatible con los clústeres de MongoDB Atlas. Para obtener información sobre la compatibilidad de Atlas con todos los comandos, consulte Comandos no admitidos.

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

El tiene las siguientes formas de db.auth() sintaxis:

Puedes:

  • Omitir la contraseña para solicitar al usuario que ingrese una contraseña:

    db.auth( <username> )
  • Utiliza passwordPrompt() para solicitar al usuario que introduzca una contraseña:

    db.auth( <username>, passwordPrompt() )
  • Especifique una contraseña en texto sin cifrar.

    db.auth( <username>, <password> )
db.auth( {
user: <username>,
pwd: passwordPrompt(), // Or "<cleartext password>"
mechanism: <authentication mechanism>,
digestPassword: <boolean>
} )
Parameter
Tipo
Descripción

user

string

El nombre del usuario con privilegios de acceso para esta base de datos.

pwd

string

La contraseña del usuario. El valor puede ser:

  • la contraseña del usuario en string de texto sin formato, o

  • passwordPrompt() para solicitar la contraseña del usuario.

    Puedes usar el método passwordPrompt() en conjunto con varios métodos y comandos de gestión de autenticación de usuarios para solicitar la contraseña en lugar de especificar la contraseña directamente en la llamada al método o comando. Sin embargo, aún puedes especificar la contraseña directamente como lo harías con las versiones anteriores del shell mongo.

mechanism

string

Opcional. El a authentication mechanism utilizar.

Para conocer los mecanismos disponibles,authentication mechanisms consulte.

Si no se especifica, se utiliza el comando para determinar el mecanismo o los mecanismos SASL para el usuario hello especificado.saslSupportedMechs Consulte.

digestPassword

booleano

Opcional. Determina si la contraseña proporcionada debe codificarse previamente antes de usarse con el mecanismo de autenticación especificado.

  • Para SCRAM-SHA-1, aunque puedes especificar true, establecer este valor en true no mejora la seguridad y puede interferir con credenciales que utilicen otros mecanismos.

  • Para todos los demás métodos, este valor debe establecerse en false (valor predeterminado). Cualquier otro valor provocará un error de autenticación, ya que estos métodos no comprenden el prehashing de MongoDB.

El valor por defecto es false.

Nota

mongosh excluye todas las operaciones del historial db.auth() guardado.

Devuelve
db.auth() devuelve 0 cuando la autenticación no es exitosa y 1 cuando la operación es exitosa.

Si el cliente que emitió db.auth() se desconecta antes de que la operación se complete, MongoDB marca db.auth() para su terminación usando killOp.

Tip

Puedes usar el método passwordPrompt() en conjunto con varios métodos y comandos de gestión de autenticación de usuarios para solicitar la contraseña en lugar de especificar la contraseña directamente en la llamada al método o comando. Sin embargo, aún puedes especificar la contraseña directamente como lo harías con las versiones anteriores del shell mongo.

Si utiliza la sintaxis db.auth(<username>, <password>) y omite la contraseña, se le solicitará al usuario que ingrese una contraseña.

Para autenticarse después de mongosh conectarse, emita en la db.auth() basede datos de autenticación del usuario:

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

Puede omitir el valor password por completo para solicitar al usuario que ingrese su contraseña:

use test
db.auth( "myTestDBUser" )

A partir de MongoDB,5.0 si su conexión especifica la --apiStrict opción, no podrá usar el método db.auth() para:

  • Autenticarse nuevamente como el mismo usuario en la misma base de datos.

  • Autenticarse como un usuario diferente cuando se haya autenticado previamente en la misma base de datos.

  • Autenticarse con una nueva base de datos cuando previamente se autenticó en una base de datos diferente.

Como alternativa, puede utilizar mongosh las opciones de línea de --username comandos,, --password --authenticationDatabasey --authenticationMechanism para especificar las credenciales de autenticación al conectarse mongosh a:

mongosh --username "myTestDBUser" --password --authenticationDatabase test --authenticationMechanism SCRAM-SHA-256

Volver

Bulk.toString

En esta página