zoukankan      html  css  js  c++  java
  • mongodb添加权限认证后链接失败

    修补MongoDB未授权访问漏洞,需要给数据添加权限验证,在添加上用户密码后,连接数据库报如下错误:

    [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] 16:11:57 ERROR (LoginLoggerDaoImpl.queryPage:85) - 查询数据库:Failed to authenticate to database [sgccoa], username = [amsdb], password = [a*******6]
    org.springframework.data.mongodb.CannotGetMongoDbConnectionException: Failed to authenticate to database [sgccoa], username = [amsdb], password = [a*******6]
            at org.springframework.data.mongodb.core.MongoDbUtils.doGetDB(MongoDbUtils.java:115)
            at org.springframework.data.mongodb.core.MongoDbUtils.getDB(MongoDbUtils.java:75)
            at org.springframework.data.mongodb.core.SimpleMongoDbFactory.getDb(SimpleMongoDbFactory.java:118)
            at org.springframework.data.mongodb.core.SimpleMongoDbFactory.getDb(SimpleMongoDbFactory.java:107)
            at org.springframework.data.mongodb.core.MongoTemplate.getDb(MongoTemplate.java:1258)
            at org.springframework.data.mongodb.core.MongoTemplate.execute(MongoTemplate.java:387)
            at org.springframework.data.mongodb.core.MongoTemplate.count(MongoTemplate.java:591)
            at org.springframework.data.mongodb.core.MongoTemplate.count(MongoTemplate.java:582)

    经查证,此错误与使用连接mongodb的驱动版本有关,当前数据库版本为3.0.7,使用的mongo-java-driver版本是2.10.1,mongo-java-driver-2.10.1.jar并不支持3.0的数据库,在不开启权限验证的时候使用并无问题,开启权限验证后报以上错误。

              <dependency>
                    <groupId>org.springframework.data</groupId>
                    <artifactId>spring-data-mongodb</artifactId>
                    <version>1.2.1.RELEASE</version>
                </dependency>
                         <dependency>
                    <groupId>org.mongodb</groupId>
                    <artifactId>mongo-java-driver</artifactId>
                    <version>2.10.1</version>
                </dependency> 

    要解决此问题需要将此jar包的版本更新到支持mongodb3.0以上的版本,在官网上有对应版本的兼容性示意图:

     可以看出至少需要2.13,只需要将mongo-java-driver更新到2.13或以上可以了

    注1:因为spring-data-mongodb是1.2.1.RELEASE,只能更新到2.13或2.14,如果更新到3.0或以上,会因为spring-data-mongodb不支持出现其他异常.

    注2:因为spring使用的是3.1.0.RELEASE系列,对spring-data-mongodb的支持只到了1.3,虽然mongo-java-driver-2.14.3.jar对应的是spring-data-mongodb-1.10.1.jar,也只能使用原来的包,更新spring-data-mongodb会导致spring的一系列包都必须更新。spring-data-mongodb.1.6以上的版本需要配置的spring的版本需要4.0以上

  • 相关阅读:
    自增自减
    字符串处理函数
    指针总结指向const的指针、const指针、指向const指针的const指针
    Jenkins基础篇 系列之-—04 节点配置
    soapUI系列之—-07 调用JIRA Rest API接口【例】
    测试人员转正考核方向
    linux系列之-—03 常见问题
    Jenkins基础篇 系列之-—03 配置用户和权限控制
    linux系列之-—01 shell编程笔记
    Jenkins基础篇 系列之-—02 修改Jenkins用户的密码
  • 原文地址:https://www.cnblogs.com/breeze-zZ/p/12982640.html
Copyright © 2011-2022 走看看