MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Autenticação durante a conexão com a instância do servidor MongoDB usando Java


Você não precisa alterar todas as suas consultas existentes, você só precisa alterar a lógica que estabelece seu MongoClient. A maioria dos aplicativos faz isso como algum tipo de Singleton, portanto, adicionar autenticação é apenas uma questão de modificar o Singleton. É uma dor na bunda que não há uma assinatura que leva apenas String, String para senha de nome de usuário, mas é a API Mongo Java, se acostume com a decepção.

Você pode seguir o caminho MongoURI que lhe dá a assinatura mais curta ...
MongoClient mongo = new MongoClient(
  new MongoClientURI( "mongodb://app_user:[email protected]/data" )
);

Ou vá com o caminho List mais detalhado
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 );