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以上

  • 相关阅读:
    双系统中ubuntu的安装方法
    Android JNI和NDK学习(05)JNI真机调试
    Android JNI和NDK学习(04)NDK调试方法
    Intent总结01 Intent的结构
    Android JNI和NDK学习(07)JNI的常用API
    Android JNI和NDK学习(01)搭建NDK开发环境
    Android JNI和NDK学习(02)静态方式实现JNI
    Intent总结05 extra属性
    Intent总结06 category属性
    Android控件之TextView
  • 原文地址:https://www.cnblogs.com/breeze-zZ/p/12982640.html
Copyright © 2011-2022 走看看