Grails - 使用身份验证连接到 MongoDB 数据库

2024-03-04

我正在尝试使用身份验证连接到我的 MongoDB。 我在我的 Mongo 服务器上这样做了:

use admin
db.addUser('adminLogin','adminPassword')
db.shutdownServer()
exit

然后我再次启动我的服务器发出mongod --auth

我在 DataSource.groovy 中设置数据库配置如下:

grails {
    mongo {
        host = "localhost"
        port = 27017
        username = "adminLogin"
        password = "adminPassword"
        databaseName = "my DB name"
        options {
            autoConnectRetry = true
            connectTimeout = 300
        }
    }
}

当我启动我的应用程序时,我收到以下错误消息:

ERROR context.GrailsContextLoader  - Error executing bootstraps: Error creating bean
 with name 'mongoDatastore': FactoryBean threw exception on object creation; nested 
exception is org.springframework.data.mongodb.CannotGetMongoDbConnectionException:
 Failed to authenticate to database

任何建议都是非常受欢迎的。 提前致谢。


我遇到了同样的问题,所以我可以帮助解释 Mongo 如何进行身份验证。您看到您所做的是在管理数据库中创建了一个管理员用户,这很棒。但是,您尝试直接使用管理员用户连接到“mydb”,这是不允许的。听起来很混乱?这是因为它是。为了更好地说明这一点,这里有一个简单的练习:

  1. 像上面一样为管理数据库创建一个用户。
  2. 退出 mongo shell
  3. 运行以下
mongo
use myDBname
db.auth("adminlogin", "adminpwd")

那会失败的。但试试这个吧。

mongo
use admin
db.auth("adminlogin", "adminpwd")
use myDBname

这将起作用,因为您使用管理上下文切换到此数据库并且没有尝试直接连接到它。

因此,要完成这项工作,您所需要做的就是直接连接到您想要的数据库,并在该数据库中创建一个用户,如下所示:

mongo
use myDBname
db.addUser("dblogin", "dbpwd")

用这个更新你的 grails 配置文件,我敢打赌它会起作用。

请注意,最后一部分是您的答案并解决了您的问题,但由于我为此苦苦挣扎并以艰难的方式找到了它,我认为上下文确实有助于更好地理解 mongo auth。

小心

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Grails - 使用身份验证连接到 MongoDB 数据库 的相关文章

  • Grails - 在 CLASSPATH 中找不到类“org.grails.tomcat.TomcatLoader”

    grails run app目前 Eclipse 内部为我的 Google App Engine Grails 测试应用程序提供了以下例外情况 Enhancing JDO classes enhance DataNucleus Enhanc
  • 如何使用系统凭据自动登录网站?

    我需要为 Intranet 用户开发一个 Web 应用程序 我不希望他们每次访问该网站时都输入登录凭据 它应该从系统用户名和密码自动加载 即 如果他们拥有有效的系统用户名和密码 他们应该能够登录应用程序 我正在使用Java 如何满足这个要求
  • 在标准化数据库模式中是否可以有多个外键?

    Address addressID houseNumber postcode roadName city county Reservation reservationID roomNo leadGuestID guest2ID guest3
  • 使用Python将文本文件导入Access 2003数据库

    我正在尝试使用我正在开发的 Python 3 4 应用程序将管道分隔的文本文件导入到具有现有表的 Access 数据库中 但遇到了一些麻烦 该应用程序将用于导入不同的文本文件 因此我使用条目小部件来写入文件名 并且我希望将输入的文件的内容加
  • .NET 的 BLOB 分布式存储?

    我正在寻找一个经过相当好的测试的库 服务器来存储持久的分布式哈希表 我对使用基于 SQL 的解决方案犹豫不决 因为数据是高度面向文档的 由数百万个约 64KB 的 blob 组成 只有一个索引 由所述 BLOB 的哈希计算 并且需要能够进行
  • 用于捕获审计跟踪的数据库设计的想法[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 如何维护数据库中的数据日志 我必须维护对每一行所做的每次更改的日志 这意味着我不能允许DELETE and UPDATE待执行 我怎样才能保留这
  • 有没有多核利用NoSQL系统?

    我从昨天开始就开始使用 MongoDB 并且非常喜欢它 我正在尝试导入大量数据 20 亿行 并为其建立索引 但它似乎没有使用我的系统拥有的 8 个核心 并且导入以正常速率 60000 条记录 秒 进行 我只能想象索引这个集合中的两列可能需要
  • ExtJS:使用“记住我”功能登录

    我正在尝试创建一个具有非常常见的 记住我 功能的简单登录窗口 登录验证是通过 AJAX 风格完成的 因此浏览器不会记住我的输入 我的方法是使用内置的state功能 但是如何使用它让我很困惑 Ext state Manager setProv
  • WordPress:wpdb->插入与wpdb->准备(wpdb->查询(“INSERT

    我想知道 WordPress 的插入功能是否也向数据添加斜杠 如果没有 准备查询方法似乎可以更好地防止 SQL 注入 我尝试在 codex api 中查找问题 然而 它似乎没有记录 谢谢 这个问题有点老了 自从提出这个问题以来 法典可能已经
  • 为 Zend 应用程序提供数据库处理程序的“正确”方法是什么

    假设您严格遵守某个组织的惯例Zend应用程序 http framework zend com manual en zend application html 您应该在哪里设置数据库处理程序以供应用程序开发人员访问 我知道如何设置ZendDb
  • 如何在 Meteor 应用程序之间共享 MongoDB 集合?

    我希望能够为我的项目提供一个管理应用程序和一个客户端应用程序 理想情况下 我希望能够拥有一个共享的 MongoDB 集合 我怎样才能做到这一点 我尝试在两个不同的应用程序中创建具有相同名称的集合 但发现 Meteor 会将数据分开 知道我能
  • Sequelize.js 中的自定义或覆盖连接

    我需要使用创建自定义连接条件Sequelize js http sequelizejs com使用 MSSQL 具体来说 我需要加入TableB基于一个COALESCE中的列的值TableA and TableB并最终得到这样的连接条件 L
  • 如何使用 django ORM 在外键字段上连接两个表?

    假设我有以下模型 class Position models Model name models CharField class PositionStats models Model position models ForeignKey P
  • 如何处理数据库中的巨大结果集

    我正在设计一个多层数据库驱动的 Web 应用程序 SQL 关系数据库 用于中间服务层的 Java 用于 UI 的 Web 语言其实并不重要 中间服务层执行数据库的实际查询 用户界面只是要求某些数据 并不知道它是由数据库支持的 问题是如何处理
  • 使用自定义 AuthenticationScheme 的 Blazor 服务器 cookie 身份验证

    我正在尝试在我的 Blazor 服务器应用程序中构建自定义 cookie 身份验证 只要我像这样使用 DefaultAuthenticateScheme 它就可以工作 builder Services AddAuthentication o
  • 将MongoDb atlas数据库导出到本机Mongo compass

    我在 Atlas 中有一个名为 test 的远程数据库 我想将集合名称 image table 下载为 JSON 文件 在 Mac 终端中 mongoexport db test collection image table image j
  • 使用 MongoDB 作为我们的主数据库,我应该使用单独的图数据库来实现实体之间的关系吗?

    我们目前正在为一家专业公司内部实施类似 CRM 的解决方案 由于存储信息的性质以及信息的不同值和键 我们决定使用文档存储数据库 因为它完全适合目的 在本例中我们选择 MongoDB 作为此 CRM 解决方案的一部分 我们希望存储实体之间的关
  • MongoDB 按数组内部元素分组

    我有一个文章列表 每篇文章都有一个数组属性 其中列出了其中提到的各个个人 id oid 52b632a9e4f2ba13c82ccd23 providerName The Guardian url http feeds theguardia
  • Coldfusion 跨站点身份验证

    好的 在我正在开发的 Coldfusion 网站上 我刚刚安装了一个名为 Galleon 的第三方 开源 CF 论坛 我不久前问过类似的问题 但现在我们已经取得了一些进展 目前的问题是 它不会识别父站点本身存在的任何变量 会话等 论坛本身存
  • Mongoose - 查询从多个集合中获取数据

    我想要获取猫鼬的查询在 Node js 应用程序中 如下所述输出 user js comment js 和 post js 是我使用的模型文件 user js var mongoose require mongoose var Schema

随机推荐