如何验证类似于.pgpass文件机制的MongoDB连接


How to authenticate a MongoDB connection similar to .pgpass file mechanism?

我想从php驱动程序验证我的MongoDB连接,但我不希望我的密码以明文形式存储在我的代码库中。 我更喜欢类似于Postgresql的.pgpass文件的机制。

我想在某处使用系统上的文件进行身份验证,这样我的MongoDB密码就不会通过我们的版本控制存储库和服务提供商分发到全国数十台计算机。

如果MongoDB

和/或php驱动程序没有开箱即用的此功能,我能想到的最佳选择是在代码库中使用私钥文件在计算机上使用私钥文件来解密密码以进行MongoDB身份验证。 结合使用持久连接和/或 APC 缓存,我可以减少必须为每个连接解密文件的性能影响。

有什么想法或建议吗?

我不

熟悉Postres中的.pgpass是如何工作的,我真的无法想象它如何与PHP一起工作 - 或者你将如何在VCS中以不同的方式分发该文件。对我来说,这听起来就像文件系统中的随机文件,您可以简单地运行

$password = file_get_contents("/home/username/.mongodbpass");

MongoDB 2.4支持外部身份验证机制,如Kerberos和LDAP身份验证,如果你正在寻找的话。另外,MongoDB 2.6支持X509身份验证,但要到明年初才会发布。

除此之外,只有标准的用户名/密码组合。