Vous ne devriez pas avoir besoin de modifier toutes vos requêtes existantes, vous ne devriez avoir besoin que de changer la logique qui établit votre MongoClient. La plupart des applications le font comme une sorte de Singleton, donc l'ajout d'une authentification consiste simplement à modifier le Singleton. C'est pénible qu'il n'y ait pas de signature qui ne prend que String, String pour le mot de passe du nom d'utilisateur, mais c'est l'API Java Mongo, habituez-vous à la déception.
Vous pouvez soit suivre le chemin MongoURI qui vous donne la signature la plus courte...
MongoClient mongo = new MongoClient(
new MongoClientURI( "mongodb://app_user:[email protected]/data" )
);
Ou optez pour le chemin List
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 );