多租户。租户自己添加的用户无法登录

Blade 未结 2 550
yangll
yangll 剑童 2022-09-30 14:18

一、该问题的重现步骤是什么?

  1. 使用数据库隔离方案。添加一个租户,然后绑定数据源。然后用租户的admin登录,添加用户,然后授权。然后登录提示用户名密码不对

  2. 跟踪代码发现,登录时获取token没有去租户绑定的数据源查询,而是原来的数据源,所以查不到

    image.png

    image.png

2. 租户admin添加完用户就这样,也不知道对不对

image.png

3.然后用y登录,登录不了

image.png

后端配置dev

spring:
 dynamic:
   
datasource:
   
# MySql
    primary: master #设置默认的数据源或者数据源组,默认值即为master
    strict: true #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
    datasource:
       
master:
         
url: jdbc:mysql://localhost:3306/eit_celiang?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
         
username: root
         
password: 123456


blade:
tenant:
   #多租户增强
   enhance: true
   #多租户授权保护
   license: false
   #动态数据源功能
   dynamic-datasource: true
   #动态数据源全局扫描
   dynamic-global: true
   #多租户字段名
   column: tenant_id
   #排除多租户逻辑
   exclude-tables:

二、你期待的结果是什么?实际看到的又是什么?

租户自己加的用户可以登录


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

2.6.0  商业版   window7


四、请提供详细的错误堆栈信息,这很重要。

没报错,就是查用户获取token,没去租户绑定的数据源查,所以查不到,登录不了,不知道咋设置

五、若有更多详细信息,请在下面提供。

2条回答
  • 升级到最新版本,数据库隔离方案参考开发手册配置。

    `~]USKESQMSQ0)(RYLHU@NR.png

    0 讨论(0)
  • 2022-09-30 15:45

    我2.6.0的这个版本,这个情况无法处理,是吗

    作者追问:2022-10-08 02:07

    是的,这个版本有bug,后续修复了

    0 讨论(0)
提交回复