MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Autenticazione durante la connessione all'istanza del server MongoDB tramite Java

Non dovresti aver bisogno di cambiare tutte le tue query esistenti, dovresti solo cambiare la logica che stabilisce il tuo MongoClient. La maggior parte delle applicazioni lo fa come una sorta di Singleton, quindi aggiungere l'autenticazione è solo una questione di modificare il Singleton. È una seccatura che non ci sia una firma che prenda solo String, String per la password del nome utente, ma è l'API Mongo Java, abituati alla delusione.

Puoi seguire il percorso MongoURI che ti dà la firma più breve...

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

Oppure vai con il percorso List più dettagliato

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 );