Overview
在 X.509 身份验证机制中,服务器和客户端使用 TLS 协议交换 X.509 公钥证书。您可以使用此机制对MongoDB Atlas、 MongoDB Enterprise Advanced和MongoDB Community Edition进行身份验证。
提示
X.509 机制
要学习;了解如何将 TLS/SSL 与 Kotlin Sync 驾驶员结合使用,请参阅 在连接上启用 TLS/SSL 指南。
有关 X.509 证书的更多信息,请参阅MongoDB Server手册中的使用 x.509 证书对自管理部署上的客户端进行身份验证。
指定 X.509 身份验证
本部分中的示例展示了如何指定 X.509
身份验证机制并使用以下占位符值:
hostname
: MongoDB 部署的网络解决,向客户端开放。port
: MongoDB服务器的端口号。authenticationDb
:包含用户身份验证数据的MongoDB 数据库。 如果省略此参数,驾驶员将使用默认值admin
。
选择下面的 Connection String 或 MongoCredential标签页,查看指定此身份验证机制的说明和示例代码:
要使用连接字符串指定 X.509
身份验证机制,请将 authMechanism
参数设立为 MONGODB-X509
,并将 tls
参数设置为 true
,如以下示例所示:
val mongoClient = MongoClient.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>&authMechanism=MONGODB-X509&tls=true")
要使用 MongoCredential
类指定 X.509
身份验证机制,请使用 createMongoX509Credential() 和 applyToSslSettings() 构建器方法,如以下示例所示:
val credential = MongoCredential.createMongoX509Credential() val settings = MongoClientSettings.builder() .applyToClusterSettings { builder -> builder.hosts(listOf( ServerAddress("<hostname>", <port>)) ) } .applyToSslSettings { builder -> builder.enabled(true) } .credential(credential) .build() val mongoClient = MongoClient.create(settings)
更多信息
要学习;了解有关向MongoDB进行身份验证的更多信息,请参阅MongoDB Server手册中的身份验证。
要学习;了解有关使用Kotlin Sync驾驶员创建 MongoClient
对象的更多信息,请参阅创建 MongoClient指南。