首页 > 解决方案 > 使用身份验证选项编译的 MongoDB C++ 驱动程序是否会惩罚不使用身份验证的客户端?

问题描述

Mongo C++ 驱动程序有两个编译选项。从驱动程序文档

  • --ssl启用 SSL 支持。您将需要可用的 SSL 库的兼容版本。自 MongoDB 3.0 版以来的默认授权机制是 SCRAM-SHA-1。如果要使用标准 MongoDB 身份验证,则应使用 -ssl 选项进行编译以支持 SCRAM-SHA-1 机制。
  • --use-sasl-client启用 SASL,MongoDB 将其用于 MongoDB Enterprise 上可用的 Kerberos 身份验证。您将需要可用的兼容版本的 SASL 实现库。Cyrus SASL 库是我们用来测试的,并且被推荐使用。

我想知道客户端不使用身份验证(这是一个典型的场景,其中 CB-MongoDB 连接使用其他方式保护,例如 3 级防火墙,或者只是用户不想要它,无论出于何种原因)。的表现。我的意思是,想要身份验证的用户为此付出代价是可以的(就身份验证所需的 SSL CB-MongoDB 通信的性能损失而言),但不想要身份验证的用户不应该受到影响。

驱动程序是否足够聪明,因此即使使用身份验证--ssl--use-sasl-client客户端不使用身份验证进行编译也能获得与不使用这些选项编译驱动程序时相同的性能?

注意:我知道这是关于 Mongo C++ 遗留驱动程序的问题,它是一个遗留软件。但是,也许类似的问题也适用于新驱动程序(假设它具有类似的基于选项的编译可配置性),所以我知道这个问题无论如何都是有意义的。

标签: mongodbmongo-cxx-driver

解决方案


推荐阅读