2016-08-02 240 views
0

我正尝试使用mongoX509连接到MongoDB。我正在使用mongo java驱动程序3.3.0 jar。在API参考中,我可以看到MongoCredential通过主题名称和身份验证,但我无法在我的代码中导入。当我反编译jar时,我也无法看到MongoCredential。使用X509证书连接到MongoDb

我是否缺少任何依赖关系。有没有简单的方法连接到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>>&amp;authMechanism=MONGODB-X509&amp;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不正确。我得到了正确的版本,它的工作。