LDAP (PLAIN SASL)
Overview
PLAIN身份验证机制允许您使用轻量级目录访问协议 (LDAP)用户名和密码对MongoDB进行身份验证。 LDAP身份验证使用 RFC-4616 中定义的 PLAIN 简单身份验证和安全层 (SASL)。
只有在向MongoDB Atlas或MongoDB Enterprise Advanced进行身份验证时,才能使用此机制。
重要
PLAIN SASL 是一种明文身份验证机制。 在使用 PLAIN SASL 对 MongoDB 进行身份验证时,强烈建议您将 TLS/SSL 与证书验证结合使用。
要详细学习;了解如何为连接启用TLS,请参阅 配置传输层安全性 (TLS)。
代码占位符
本页上的代码示例使用以下占位符:
+srv
:仅当您连接到MongoDB Atlas 群集时,才在连接字符串前缀中包含此选项。 要学习;了解有关+srv
选项的更多信息,请参阅MongoDB Server手册中的连接字符串格式。<username>
:您的LDAP用户名。<password>
:您的LDAP密码。<hostname>
: MongoDB 部署的网络解决。<port>
: MongoDB 部署的端口号。 如果省略此参数,驾驶员将使用默认端口号 (27017
)。 连接MongoDB Atlas 群集时无需指定端口。<authenticationDb>
:包含用户LDAP凭证的MongoDB 数据库。 如果省略此参数,驾驶员将使用默认数据库(admin
)。
要使用本页上的代码示例,请将这些占位符替换为您自己的值。
重要
百分比编码
您必须 对 用户名和密码,然后再将其包含在 MongoDB URI 中。quote_plus()
方法,可在 urllib.parse 模块,是执行此任务的一种方法。例如,调用 quote_plus("and / or")
会返回string and+%2F+or
。
将用户名或密码作为参数传递给MongoClient
时,不要对用户名或密码进行百分号编码。
在应用程序中使用 PLAIN 身份验证
要使用 PLAIN 进行身份验证,请将 authMechanism
连接选项设立为 PLAIN
。 您可以通过两种方式设立此选项:将参数传递给 MongoClient
构造函数,或通过连接字符串中的参数。
注意
如果authMechanismProperties
值包含逗号,则必须使用MongoClient
构造函数来设立身份验证选项。
client = pymongo.MongoClient("mongodb[+srv]://<hostname>:<port>", username="<username>", password="<password>", authSource="<authenticationDb>", authMechanism="PLAIN", tls=True)
uri = ("mongodb[+srv]://<username>:<password>@<hostname>:<port>/?" "authSource=<authenticationDb>" "&authMechanism=PLAIN" "&tls=true") client = pymongo.MongoClient(uri)
client = pymongo.AsyncMongoClient("mongodb[+srv]://<hostname>:<port>", username="<username>", password="<password>", authSource="<authenticationDb>", authMechanism="PLAIN", tls=True)
uri = ("mongodb[+srv]://<username>: <password>@<hostname>:<port>/?" "authSource=<authenticationDb>" "&authMechanism=PLAIN" "&tls=true") client = pymongo.AsyncMongoClient(uri)
API 文档
要学习;了解有关在PyMongo中使用 PLAIN SASL身份验证机制的更多信息,请参阅以下API文档: