2

我对 orion db 有一些问题,它会输出如下错误:

time=2015-01-13T14:42:19.272UTC | lvl=ERROR |
trans=1421070784-640-00000009856 | function=processContextElement |
comp=Orion | msg=MongoCommonUpdate.cpp[1604]: Database Error (error
retrieving _id field
in doc: { $err: "not authorized for query on orion.entities", code: 16550 })

我也可以通过这种方式产生类似的错误:

> use orion
switched to db orion
> db.csubs.find()
error: { "$err" : "not authorized for query on orion.csubs", "code" : 16550
}

上下文代理配置似乎没有对 orion 数据库进行任何身份验证。/etc/sysconfig/contextBroker 将用户名和密码散列到数据库:

#BROKER_DATABASE_USER=orion
#BROKER_DATABASE_PASSWORD=orion

未散列的配置不适用于 db。

4

2 回答 2

0

感谢您的建议。确实 mongo 配置了身份验证。我在 mongodb.conf 中散列了 auth=true 选项,现在它可以正常工作了。谢谢你

于 2015-01-14T11:54:26.387 回答
0

您的 MongoDB 实例似乎在启用身份验证的情况下运行。因此,有两种解决方案:

  1. 在没有身份验证的情况下运行 MongoDB,例如没有--auth选项。请查看有关此的 MongoDB 官方文档。如果您可以通过其他方式(例如 fiwarelling)保护 MongoDB 访问,或者如果您的环境(例如测试环境)中的安全性根本不相关,这可能是更简单的选择。
  2. 将 BROKER_DATABASE_USER 和 BROKER_DATABASE_PASSWORD 参数设置为对 Orion DB 具有访问权限的参数(orion如果使用默认设置运行 CB,通常是命名的数据库)。我想正确的用户/密码应该由您的数据库管理员提供。
于 2015-01-14T11:45:22.083 回答