当前位置: 首页 > 面试题库 >

Java / Mongodb身份验证

酆光熙
2023-03-14
问题内容

我看到了很多教程,展示了如何使用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中用于用户管理的减号…



 类似资料:
  • 我可以使用shell命令在mongodb上进行身份验证: 目前,我正在从事一个项目,我想使用Hibernate OGM。我已设置文件: 正如您所看到的,我使用作为身份验证机制。 原因:org.hibernate.service.spi.serviceException:OGM000071:无法启动数据存储提供程序,原因:org.hibernate.hibernateException:OGM001

  • 身份验证 PDF版下载 企业应用中的URL链接可以通过OAuth2.0验证接口来获取员工的身份信息。 通过此接口获取员工身份会有一定的时间开销。对于频繁获取员工身份的场景,建议采用如下方案: 企业应用中的URL链接直接填写企业自己的页面地址; 员工跳转到企业页面时,企业校验是否有代表员工身份的cookie,此cookie由企业生成; 如果没有获取到cookie,重定向到OAuth验证链接,获取员工

  • 问题内容: 我目前正在尝试使用(相对)新的3.0 Java驱动程序连接到MongoDB副本集。但是,我似乎无法捕捉到用户提供错误凭据时发生的MongoSecurityExceptions。这是我当前的代码。 当使用正确的凭据运行时,此代码可以正常工作,但是如果提供了错误的凭据,则会在try-catch之外引发异常。 任何想法在哪里处理身份验证异常? 问题答案: MongoClient构造函数不会引

  • 问题内容: 我试图让我的自定义Java应用程序使用我们的Active Directory服务器进行身份验证,但由于某种原因我无法使其正常工作。谁能看到为什么呢?这是我的方法如下: 结果: 问题答案: 你尝试过这种方式吗? 也更换 与

  • 我需要连接到LDAP服务器,但出现以下错误: javax。命名。AuthenticationException:[LDAP:错误代码49-80090308:LDAPPER:DSID-0C09034,注释:AcceptSecurityContext错误,数据525,向量 用户名和密码正确,我尝试设置相同的用户并传入另一个用编写的应用程序。NET,它在那里工作,但在Java中,我收到了错误消息。 我的

  • 我有一个基本的SOAP服务endpoint,实际上是SAP ECC,它表示一个服务。我已经使用SOAPUI4.5测试了该服务,使用HTTPAuth可以正常工作,可以根据事物的外观进行抢占。我看到一个出站“Authorization:Basic BASE64”,服务会做出相应响应。 我现在正试图将其引入Java。我想我会采取SAAJ方法: 但我无法在中添加HTTP身份验证。我相信SAAJ提供了控制S