Definición
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 varios métodos y comandos de autenticación/gestión de usuarios, solicita la contraseña en lugar de especificarla directamente en la llamada al método/comando. Sin embargo, aún puede especificarla directamente, como lo hacía con versiones anteriores delmongoshell.Si utiliza la sintaxis
db.auth(<username>, <password>)y omite la contraseña, se le solicitará al usuario que ingrese una contraseña.
Compatibilidad
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 el soporte de Atlas para todos los comandos, consulta Comandos no compatibles.
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.
Sintaxis
El tiene las siguientes formas de db.auth() sintaxis:
db.auth(<username>, <password>)
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 document>)
db.auth( { user: <username>, pwd: passwordPrompt(), // Or "<cleartext password>" mechanism: <authentication mechanism>, digestPassword: <boolean> } )
Parameter | Tipo | Descripción |
|---|---|---|
| string | El nombre del usuario con privilegios de acceso para esta base de datos. |
| string | La contraseña del usuario. El valor puede ser:
TipPuede usar el método junto con varios métodos o comandos de autenticación/gestión de usuarios para solicitar la contraseña en lugar de especificarla directamente en la llamada al método/comando. Sin embargo, puede especificarla directamente como lo hacía con versiones anteriores Al utilizar la sintaxis del documento de usuario, no se puede omitir el |
| string | Opcional. El a Para conocer los mecanismos disponibles, Si no se especifica, se utiliza el comando para determinar el mecanismo o los mecanismos SASL para el usuario |
| booleano | Opcional. Determina si la contraseña proporcionada debe codificarse previamente antes de usarse con el mecanismo de autenticación especificado.
El valor por defecto es |
- Devuelve
db.auth()devuelve0cuando la autenticación no es exitosa y1cuando la operación es exitosa.
Comportamiento
Desconexión del cliente
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.
Ejemplo
Tip
Puede usar el método junto con varios métodos o comandos de autenticación/gestión de usuarios para solicitar la contraseña en lugar de especificarla directamente en la llamada al método/comando. Sin embargo, puede especificarla directamente como lo hacía con versiones anteriores passwordPrompt() 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.
Autenticarse después de conectarse al Shell
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.
Autenticar al conectarse al Shell
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