ash*_*ini 47 mongodb spring-data-mongodb
我在验证用户时遇到以下错误:purchase_user @ purchase failed.MongoDB-CR身份验证失败.我通过浏览器访问webservice时缺少用户文档中的凭据.
但我可以从mongo验证purchase_user,它返回1.
Viv*_*vex 84
转到mongoDB控制台并删除当前用户并将authSchema版本设置为3而不是5,在mongo控制台中按照以下命令进行操作 -
mongo
use admin
db.system.users.remove({}) <== removing all users
db.system.version.remove({}) <== removing current version
db.system.version.insert({ "_id" : "authSchema", "currentVersion" : 3 })
Run Code Online (Sandbox Code Playgroud)
现在重新启动mongod并创建新用户然后它应该工作正常.
注意:如果在生产中使用更新,则仅在测试数据库中使用remove命令.
小智 20
有同样的问题.发生在我身上的是当我使用MongoDB 3来创建我的用户时,它使用SCRAM-SHA-1作为它的认证机制而不是MongoDB-CR.我必须做的是:
现在应该没有问题.
aca*_*a85 18
上面的步骤2没有明确详细说明,我找到了这个解决方案,并为我工作.
var schema = db.system.version.findOne({"_id" : "authSchema"})
schema.currentVersion = 3
db.system.version.save(schema)
Run Code Online (Sandbox Code Playgroud)
Ahm*_*que 11
我认为这是你需要的答案:
1)启动3.0而不启用auth.(需要禁用身份验证,否则您将获得未经授权的错误).
2)运行(选择"admin"后使用db):
var schema = db.system.version.findOne({"_ id":"authSchema"})
schema.currentVersion = 3
db.system.version.save(架构)
3)启用auth重启mongodb.
4)创建一个新的管理员用户(旧的管理员用户,在此解决方法之前创建的用户将无效).
事情现在应该奏效.这个问题也让我发疯了.
答案来自这里:https://jira.mongodb.org/browse/SERVER-17459
Vivek补充上述解决方案并从此处解释
use admin
db.system.users.remove({}) <== removing all users
db.system.version.remove({}) <== removing current version
db.system.version.insert({ "_id" : "authSchema", "currentVersion" : 3 })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44346 次 |
| 最近记录: |