2016-07-26 7 views
0

방금 ​​인증없이 mongodb Java 프로젝트를 완료했습니다. 이제 인증을 추가하려고합니다. 그래서 mongodb 웹 사이트에서 어떻게 그리고 어떤 방법이 최선인지 알아 내려고했습니다. 나는 authentication mechanisms을 많이 선물로 받았다. 설명만으로는 어떤 방법이 최선인지를 이해하기에 충분하지 않습니다. 즉, 지금은 시간이 많이 걸리는 모든 세부 메커니즘을 읽어야합니다. 나는 아래 코드에서와 같이 ScramSha1을 시도했다.Java의 MongoDb 인증 메커니즘

정말 내 시스템이 잘 보호되기를 원하기 때문에 매우 걱정됩니다. 경험에서

 try{ // Manage the mongo db connection... 
      List<ServerAddress> seeds = new ArrayList<>(); 
      seeds.add(new ServerAddress(host,intPort)); 
      List<MongoCredential> credentials = new ArrayList<>(); 
      credentials.add(MongoCredential.createScramSha1Credential(userName,databaseName,password.toCharArray())); 
      mongo = new MongoClient(seeds, credentials); 
      db = mongo.getDB(databaseName); 

     }catch(MongoException ex){ 

     } 

, 나는 지도자가 여기 메커니즘과 그 이유 중 나에게 최선을 말할 수 있기를 바랍니다. 많은 감사드립니다.

답변

0

제작 준비가 된 응용 프로그램의 경우 인증서 기반 인증 (x.509)을 사용하는 것이 좋습니다. 이 메커니즘은 MONGODB-CR 및 SCRAM-SHA-1과 같은 사용자 이름 및 암호 기반 메커니즘과 비교할 때 더욱 안전합니다.

https://docs.mongodb.com/manual/core/security-x.509/#security-auth-x509

요즘 인해 IT 보안에 대한 높은 강조로, 업계에서 가장 권장되는 방법은 인증서 기반 인증 (X.509)를 사용하는 것입니다.

1) 응용 프로그램이 공용 사용자 인 경우 인증서 기반 인증 을 사용하는 것이 좋습니다. 2) 내부 조직 사용자가 사용하는 인트라넷 기반 응용 프로그램 인 경우 인증서 기반 인증을 사용할 수 있습니다. 어떤 이유로 인해 가능하지 않은 경우 SCRAM-SHA-1 (MongoDB 버전 3.0에서 사용 가능)을 사용할 수 있습니다.