Java / Mongodb身份验证
我看到了很多教程,展示了如何使用Java在mongodb中进行身份验证
我将mongodb配置为启用身份验证。在控制台中,我使用
使用管理员
db.auth(“ myUser”,“ newPassword”)并运行良好。
在Java中,在每个访问过的网站中,代码都是
Mongo mongo = new Mongo("localhost", 27017);DB db = mongo.getDB("myBase");
boolean auth = db.authenticate("myUser", "newPassword".toCharArray());
//auth is true if everithing went well
大问题是代码对我不起作用,我也不知道为什么。我测试了显式更改为管理数据库。
Mongo mongo = new Mongo("localhost", 27017);DB db = mongo.getDB("admin");
boolean auth = db.authenticate("myUser", "newPassword".toCharArray());
DB db = mongo.getDB("myBase");
//auth is true if everithing went well
这对我来说有效,但这不是解决方案,因为我试图将mongo与mule一起使用,问题是我无法为必须执行的每个身份验证在数据库之间进行切换。
为什么第一个代码适用于所有人而不是我?
我意识到了问题所在。
似乎mongo使用用户为存储在数据库本身中的每个数据库工作。我在同一数据库中创建了用户,并且可以正常工作。这是一个非常奇怪的功能,因为在mongo中我将有很多重复的用户,每个我拥有的数据库都有一个。在Mongo中用于用户管理的减号…
回答:
我意识到了问题所在。
似乎mongo使用用户为存储在数据库本身中的每个数据库工作。我在同一数据库中创建了用户,并且可以正常工作。这是一个非常奇怪的功能,因为在mongo中我将有很多重复的用户,每个我拥有的数据库都有一个。在Mongo中用于用户管理的减号…
以上是 Java / Mongodb身份验证 的全部内容, 来源链接: utcz.com/qa/417427.html