안녕하세요 저는 java와 mongoDB에서 몇 가지 실험을하고 있습니다. 성공적으로 mongoDB를 설치하고 명령 줄을 통해 연결할 수 있습니다. 하지만 자바를 통해 연결하려고하면 인증 오류가 발생합니다.Java mongo db 인증이 실패했습니다.
[email protected]:~$ mongo -u admin -p admin123 --authenticationDatabase admin
MongoDB shell version: 3.2.9
connecting to: test
Server has startup warnings:
2016-09-17T16:29:31.090+0530 I CONTROL [initandlisten]
2016-09-17T16:29:31.090+0530 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2016-09-17T16:29:31.090+0530 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-09-17T16:29:31.090+0530 I CONTROL [initandlisten]
2016-09-17T16:29:31.090+0530 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2016-09-17T16:29:31.090+0530 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-09-17T16:29:31.090+0530 I CONTROL [initandlisten]
>
와 자바 코드를 통해 : 나는 다음과 같은 방법으로 시도
package mongo;
import java.net.UnknownHostException;
import java.util.Date;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.Mongo;
import com.mongodb.MongoClient;
import com.mongodb.MongoException;
/**
* Java + MongoDB Hello world Example
*
*/
public class App {
public static void main(String[] args) {
try {
Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("testdb");
boolean auth = db.authenticate("admin", "admin123".toCharArray());
if (auth) {
System.out.println("Login is successful!");
} else {
System.out.println("Login is failed!");
}
System.out.println("Done");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
}
}
과의 결과를 얻었다 : 아무 잘못이
Login is failed!
Done
거기를? 도움이 필요해. 고맙습니다.
Y ou는 Mongo Java 드라이버 v2의 구문을 사용하고 있습니다. Mongo3 구문 (MongoClient 및 MongoCredentials)으로의 더 나은 전환 : http://mongodb.github.io/mongo-java-driver/3.0/driver/reference/connecting/authenticating/ http://www.programcreek.com/java-api -examples/index.php? api = com.mongodb.MongoCredential – Robert
testdb가 잘못되었으므로 테스트해야합니다. 시도하고이게 도움이되는지 알려주세요. – harshavmb