Docs 菜单
Docs 主页
/ / /
Pymongo 驱动程序
/ /

LDAP (PLAIN SASL)

在此页面上

  • Overview
  • 代码占位符
  • 在应用程序中使用 PLAIN 身份验证
  • API 文档

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 进行身份验证,请将 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)

要学习;了解有关在PyMongo中使用 PLAIN SASL身份验证机制的更多信息,请参阅以下API文档:

后退

OIDC