baomidou / dynamic-datasource

dynamic datasource for springboot 多数据源 动态数据源 主从分离 读写分离 分布式事务
https://www.kancloud.cn/tracy5546/dynamic-datasource/2264611
Apache License 2.0
4.76k stars 1.2k forks source link

整合druid后无法登陆,提示用户名密码错误 #448

Closed randeexiong closed 2 years ago

randeexiong commented 2 years ago

整合druid后无法登陆,提示用户名密码错误

Enviroment

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
           <version>1.2.6</version>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>3.5.2</version>
        </dependency>
spring:
  autoconfigure:
    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 去除druid配置
  datasource:
    # 指定使用 Druid 数据源
    type: com.alibaba.druid.pool.DruidDataSource
    dynamic:
      druid:
        # 初始连接数
        initial-size: 5
        # 最小连接池数量
        minIdle: 10
        # 最大连接池数量
        maxActive: 20
        # 配置获取连接等待超时的时间
        maxWait: 60000
        # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
        timeBetweenEvictionRunsMillis: 60000
        # 配置一个连接在池中最小生存的时间,单位是毫秒
        minEvictableIdleTimeMillis: 300000
        # 配置一个连接在池中最大生存的时间,单位是毫秒
        maxEvictableIdleTimeMillis: 900000
        # 配置检测连接是否有效
        validationQuery: SELECT 1
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
        filters: stat,wall,log4j2
        share-prepared-statements: true

      primary: db1 # 配置默认数据库
      datasource:
        db1:
          username: root
          password: 123456
          url: jdbc:mysql://localhost:3306/db1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
          driver-class-name: com.mysql.cj.jdbc.Driver

        db2:
          username: root
          password: 123456
          url: jdbc:mysql://localhost:3306/db2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
          driver-class-name: com.mysql.cj.jdbc.Driver

    druid:
      # 通过 connection-properties 属性打开 mergeSql 功能;慢 SQL 记录
      connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
      filter:
        wall:
          enabled: true
        stat:
          enabled: true
          log-slow-sql: true
          slow-sql-millis: 10000
          merge-sql: true
      # 配置 DruidStatFilter
      web-stat-filter:
        enabled: true
        url-pattern: /*
        session-stat-enable: true
        profile-enable: true
        exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
      # 配置 DruidStatViewServlet
      stat-view-servlet:
        enabled: true
        # IP 白名单,没有配置或者为空,则允许所有访问
        allow:
        # IP 黑名单,若白名单也存在,则优先使用
        deny:
        # 禁用 HTML 中 Reset All 按钮
        reset-enable: false
        # 登录用户名/密码
        login-username: root
        login-password: 123
      aop-patterns: com.druid.*

Describe what happened

druid监控页面可以打开,但是一直提示密码错误, 发现 ResourceServlet.checkLoginParam 获取登陆页面的值都是空

huayanYu commented 2 years ago

stat-view-servlet: enabled: true

IP 白名单,没有配置或者为空,则允许所有访问

    allow:
    # IP 黑名单,若白名单也存在,则优先使用
    deny:
    # 禁用 HTML 中 Reset All 按钮
    reset-enable: false
    # 登录用户名/密码
    login-username: root
    login-password: 123

配在原生的地方

randeexiong commented 2 years ago
stat-view-servlet:
enabled: true
# IP 白名单,没有配置或者为空,则允许所有访问
allow:
# IP 黑名单,若白名单也存在,则优先使用
deny:
# 禁用 HTML 中 Reset All 按钮
reset-enable: false
# 登录用户名/密码
login-username: root
login-password: 123

这段是配置在spring.datasource.druid下的,不原生?

huayanYu commented 2 years ago

请在github给出最小化能直接运行的复现demo,发给我链接。