首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Play-ReactiveMongo身份验证失败,MongoDB为3

Play-ReactiveMongo身份验证失败,MongoDB为3
EN

Stack Overflow用户
提问于 2015-10-24 21:43:04
回答 2查看 737关注 0票数 0

我使用play-reactivemongo连接到MongoDB 3时遇到问题,遇到"'not authorized for query on XXX‘(code =13)’“问题。当MongoDB在没有--auth的情况下启动时,程序运行完全正常。

数据库版本应为3.0.4,如日志所示。

代码语言:javascript
复制
2015-10-24T15:58:09.868+0800 I CONTROL  [initandlisten] db version v3.0.4

我使用的是0.11.7play2-reactivemongo插件。

代码语言:javascript
复制
libraryDependencies ++= Seq(
  "org.reactivemongo" %% "play2-reactivemongo" % "0.11.7.play24",

我在mongodb.uri中指定的authMode如下所示。

代码语言:javascript
复制
mongodb.uri = "mongodb://postsUser:12345678@localhost:27017/posts?authMode=?authMode=scram-sha1&authSource=posts&rm.tcpNoDelay=true"

我在mongodb.log中发现了以下错误。

代码语言:javascript
复制
2015-10-24T16:41:24.977+0800 I ACCESS   [conn105] Failed to authenticate postsUser@posts with mechanism MONGODB-CR: AuthenticationFailed MONGODB-CR credentials missing in the user document

为什么使用MONGODB-CR而不是SCRAM-SHA-1?假设SCRAM-SHA-1应该是默认的,对吗?

EN

回答 2

Stack Overflow用户

发布于 2016-11-24 21:28:12

将以下内容附加到连接字符串后对我有效

代码语言:javascript
复制
authMode=scram-sha1

因此,最终的连接字符串是

代码语言:javascript
复制
mongodb://user:pass@ipaddress:27017/litmus?3treadPreference=primary&authMode=scram-sha1

我也有nodejs脚本连接到相同的数据库,有趣的是,它连接得很好,没有附加authMode=scram-sha1标志。

在反应式mongo中似乎是未处理的情况

票数 1
EN

Stack Overflow用户

发布于 2015-10-25 01:52:58

对不起,我在mongodb.uri中打错了字

代码语言:javascript
复制
authMode=?authMode=scram-sha1

并使DB向mongodb-cr认证。但是,在第一次访问数据库时,我仍然收到"not authorized to query“错误,随后的数据库访问也没有问题。在mongodb.log中,我可以看到以下内容。

代码语言:javascript
复制
2015-10-25T01:28:45.242+0800 I QUERY    [conn33] assertion 13 not authorized for query on posts.posts ns:posts.posts query:{}
2015-10-25T01:28:45.247+0800 I ACCESS   [conn33] Successfully authenticated as principal postsUser on posts

我最好明天开始另一个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33318884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档