我正在尝试使用mongoX509连接到MongoDB。我使用的是mongo java driver 3.3.0jar。在api reference中,我可以看到MongoCredential传递主题名称和身份验证,但我不能在我的代码中导入这些。当我反编译jar时,我也看不到MongoCredential。
我是否遗漏了任何依赖项。有什么简单的方法可以不使用MongoCredential连接到Mongodb吗?我拥有的详细信息是服务器、端口和证书主题名称?
如果有人想看看我正在尝试的代码,我可以把它贴出来。
提前感谢
代码-我使用SoapUI来运行这段代码
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.MongoCredential;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
try{
def subjectName="CN=xx,OU=xx,O=xx,C=US,ST=CA,L=xx"
MongoCredential credential = MongoCredential.createMongoX509Credential(subjectName);
def URI = "mongodb://server1:27017,server2:27017,server3:27017/<<database>>?replicaSet=<<XYZ>>&authMechanism=MONGODB-X509&ssl=true"
MongoClientURI uri = new MongoClientURI(URI)
MongoClient client = new MongoClient(uri, Arrays.asList(credential));
DB database = client.getDB(<<database>>);
collection = database.isAuthenticated();
log.info collection
}
catch (Exception e){
log.info e
}发布于 2016-08-03 02:46:04
这个问题是因为我使用的jar不正确。我得到了正确的版本,它起作用了。
https://stackoverflow.com/questions/38710065
复制相似问题