切换租户思路

Blade 已结 2 718
836230260
836230260 剑圣 2022-09-21 16:44

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

1.已00000为主租户,用户登录主租户可在线切换 跳转 到别的租户。

2. 我能想的思路是 

(1)在子租户同样新增主租户相同的一份用户数据,给予默认或指定的角色。执行重新登录逻辑达到切换租户的效果。

缺点是需要保证不同租户的用户数据一致性问题。 比如修改密码等问题。

(2)但我看翼总之前的帖子回复的是新增租户和用户绑定关系表,这可以避免数据一致性问题,但在子租户中 用户还是需要子租户的角色及组织机构达到数据、功能权限控制问题。这好像使问题又复杂化了 我一时间不知道后续该如何操作。

3.


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


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


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


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

2条回答
  •  admin
    admin (最佳回答者)
    2022-09-22 00:26

    如果你对系统了解比较多的话,可以参考用户部门切换逻辑。目前是在登录的时候发现如果用户有多个部门或者角色,则弹出对话框让用户选择之后再跳转。

    跳转的时候额外传递部门、角色的id来指定,这样调用token接口就可以用指定的字段来生成token。

    你的思路可以和这个做的一样,甚至可以直接拓展,加一个租户的下拉框来选择,然后再拓展下token接口就可以了,其他的都不需要改,因为切换后生成的新token就已经指定好租户了。

    但这样带来的一个问题就是,只能有一个租户身份进入系统,创建查询的数据也都是和进入系统的租户绑定的。一个用户无法同时看到多个租户的数据,如果要看到多个,那整个系统底层都需要修改,不建议这么做。建议专门做一个查询的模块,来统一查询多个租户的信息。


    image.png

    image.png

    1 讨论(1)
  • 2022-09-22 02:29

    感谢翼总半夜回复!

    0 讨论(1)
提交回复