我正在尝试使用mongoX509连接到MongoDB。我正在使用mongo java驱动程序3.3.0 jar。在api参考中,我可以看到MongoCredential传递主题名称并进行身份验证,但我无法在我的代码中导入它。当我反编译jar时,我也看不到MongoCredential。
我错过了任何依赖项。有没有简单的方法连接到Mongodb而不使用MongoCredential?我的详细信息是服务器,端口和证书主题名称?
我可以发布我正在尝试的代码,如果有人也想看看它
先谢谢
代码 - 我正在使用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
}
答案 0 :(得分:0)
问题是因为我使用的jar不正确。我得到了正确的版本,它的工作原理。