sql >> Base de Datos >  >> NoSQL >> MongoDB

Autenticación durante la conexión a la instancia del servidor MongoDB usando Java

No debería necesitar cambiar todas sus consultas existentes, solo debería necesitar cambiar la lógica que establece su MongoClient. La mayoría de las aplicaciones hacen esto como una especie de Singleton, por lo que agregar autenticación es solo cuestión de modificar el Singleton. Es un fastidio que no haya una firma que solo tome String, String para la contraseña del nombre de usuario, pero es la API de Mongo Java, acostúmbrate a la decepción.

Puede ir a la ruta MongoURI que le proporciona la firma más corta...

MongoClient mongo = new MongoClient(
  new MongoClientURI( "mongodb://app_user:[email protected]/data" )
);

O vaya con la ruta List más detallada

List<ServerAddress> seeds = new ArrayList<ServerAddress>();
seeds.add( new ServerAddress( "localhost" );
List<MongoCredential> credentials = new ArrayList<MongoCredential>();
credentials.add(
    MongoCredential.createMongoCRCredential(
        "app_user",
        "data",
        "bestPo55word3v3r".toCharArray()
    )
);
MongoClient mongo = new MongoClient( seeds, credentials );