我使用ASP.NET Boilerplate进行多租户支持。当用户登录时,我想向用户显示它有权访问的租户列表。例如,如果有电子邮件admin@example.com的用户是Tenant-A和Tenant-B的一部分,则可以选择在租户之间切换。
这似乎不太容易实现。每个用户都可以映射到单个租户(AbpUsers表)。
允许用户访问多个租户的最佳方式是什么?我认为可以做到的唯一方法是在用户和租户之间添加一个N:M表,但ABP是否允许我在租户之间进行上下文切换?
答案 0 :(得分:2)
根据设计,租户数据(包括用户,角色......)彼此完全隔离,无法轻松共享。
我们通过AspNet Zero中的“帐户关联”功能解决了这个问题。使用此功能,您可以在不同的租户中连接您的帐户,然后只需单击一次即可在帐户之间切换。它基本上将这些帐户(用户)映射到数据库中并注销&要切换时自动登录。查看更多信息:https://aspnetzero.com/Documents/Development-Guide-Core#user-menu