命令聚合未授权 运行
Command aggregate not authorized to run
MongoDb 权限有一个奇怪的问题,我的用户成功访问了大多数集合中的数据,并且在数据库中具有 dbAdmin
和 readWrite
角色,但是当列出一个集合中的文档时我得到:
Command aggregate failed: not authorized on DB to execute command { aggregate: "Customer", pipeline: [ { $limit: 250 }, { $group: { _id: 1, __result: { $sum: 1 } } } ], cursor: {} }
AFAIK readWrite
应该足够了,用户也是 dbAdmin
使用最新版本的 MongoDb 服务器和 C# 客户端。
这确实是一个权限问题,虽然用户权限很好并且用户可以执行所有命令,但实际上使用了用户的凭据。
问题出在我的 IoC/DI 容器上,在某些情况下,它没有填写 MongoClient 对象上的凭据,因此命令失败(因为这只发生在一个控制器操作中,所以问题有点难调试)。
MongoDb 权限有一个奇怪的问题,我的用户成功访问了大多数集合中的数据,并且在数据库中具有 dbAdmin
和 readWrite
角色,但是当列出一个集合中的文档时我得到:
Command aggregate failed: not authorized on DB to execute command { aggregate: "Customer", pipeline: [ { $limit: 250 }, { $group: { _id: 1, __result: { $sum: 1 } } } ], cursor: {} }
AFAIK readWrite
应该足够了,用户也是 dbAdmin
使用最新版本的 MongoDb 服务器和 C# 客户端。
这确实是一个权限问题,虽然用户权限很好并且用户可以执行所有命令,但实际上使用了用户的凭据。
问题出在我的 IoC/DI 容器上,在某些情况下,它没有填写 MongoClient 对象上的凭据,因此命令失败(因为这只发生在一个控制器操作中,所以问题有点难调试)。