我有一个在ASP.NET Identity Core之上运行IdentityServer4的ASP.NET Core 2.1项目,如here所述。该项目具有自己的独立SQL Server数据库,用于存储ASP.NET Identity Core表。
然后,我还有很多其他项目,包括受IdentityServer保护的ASP.NET Core 2.1 API。这些项目与另一个包含所有Web应用程序特定数据的SQL Server数据库进行通信。
我想表达用户(位于IdentityServer数据库中)和租户(位于app数据库中)之间的多对多关系。
我正在考虑几种可能性:
tenant
类型的声明,其值是租户的ID。IEnumerable<Claim> tenants = User.FindAll("tenant")
。声明是一个名称值对,表示主题是什么,而不是 受试者可以做什么。
您能想到解决此问题的更好方法吗?如果没有,您会选择选项1还是2?