在允许匿名访问的接口中,使用租户隔离

Blade 已结 1 919
3395733618
3395733618 剑圣 2021-02-09 15:25

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

1. 使用的是字段隔离的方案

2. 因为有些接口需要允许用户匿名访问,比如首页的一些内容,但是又要做到租户隔离

3.数据库有tenant_id字段,实体继承了TenantEntity类

4.请求头中带有Tenant-Id ,并设置了对应的租户id

5.nacos中配置image.png开启了多租户增强


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

希望,在匿名访问时,也就是请求头中没有Blade-Auth的时候,在查询数据库时,能实现租户隔离;

实际打印出来的sql显示并没有tenantId = "xxxxxx"


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

bladex2.7.2   centos7


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


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

1条回答
  •  admin
    admin (最佳回答者)
    2021-02-09 22:50

    如果是明文的tenantid请求头就可以直接拉取租户信息,那么安全性非常低。

    推荐你整一个最简单的blade-auth获取接口,里面只有tenantid一个字段也可以。

    调用接口返回,这样后端获取解密的时候就可以取到租户的值了

    0 讨论(1)
提交回复