ASP.NET Core-如何跨数据库使用身份服务?

为节省时间并阐明我的观点,这里有一个类比。 假设我正在建立一家连锁超市。每个超市都有自己的数据库,员工可以通过Web应用程序登录。现在,我的结构方式是有一个数据库来处理应用程序的登录,然后员工可以从列表中选择他们的超市,然后连接到该数据库

我现在面临的问题是如何授权该单独数据库中的用户?超级市场可能有一个需要访问所有内容的经理,一个可能只允许查看其时间表的标准员工,或者甚至是一个可能被允许访问某些超级市场数据库并查看其中所有内容的主管。一名员工可以在多个商店工作,每个商店的访问级别不同。

我知道这里是角色和声明的来源。我目前在登录数据库上具有一个IdentityDbContext,其中包含所有用户声明,角色声明等,但是这些应该特定于每个超市数据库,因此我认为不应将其存储在登录数据库中。有人知道可能的解决方法吗?一种可能将AspNetUserLogins表保留在Login数据库中,而将AspNetRoles,索赔等保留在超市数据库中的方法?

我尝试过/想到的事情: 我曾考虑过在两个数据库上都使用IdentityDbContext,但是随后用户必须再次登录才能进入超级市场数据库。我不希望这样,它需要一种无缝的体验,用户可以通过单击按钮在超市之间跳转。

kingxuyao 回答:ASP.NET Core-如何跨数据库使用身份服务?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3166189.html

大家都在问