我正在为我的 Java 客户端应用程序使用 Mongodb Java 驱动程序。它需要连接到远程运行的 mongodb 服务器。
我担心有人可以反编译 jar 并找出 mongodb 服务器的 IP 地址并访问它。但用户需要具有读写权限。我应该为每个用户创建一个数据库并对其进行身份验证吗?还是自己创建一个用户集合?
mongo = new Mongo("mongodb.server", 27017);
db = mongo.getDB("mydatabase");
db.authenticate("test", "password");
顺便说一句, db.authenticate 需要 char[] 作为密码......所以 db.authenticate() 不起作用。
我想到的另一个解决方案是使用仅连接到 mongodb 的中间人服务器。应用程序将通过 HTTP POST 连接到中间人服务器。
但是,我需要在 mongodb 上直接存储序列化为 JSON 的 Java 对象,因此使用中间人服务器会很困难。