【发布时间】:2020-11-29 13:18:24
【问题描述】:
我在带有 ASP.NET Core 托管选项的 Blazor WASM 项目中使用 IdentityServer4 和 EF Core,并且在该项目中我使用多个数据库。(动态字符串连接 - 数据库副本)
在登录页面中,您选择要使用的数据库,我将数据库名称存储在 cookie 中。
当您使用一个数据库登录时,系统应该像这样工作,您不能使用其他数据库。
除了我可以更改 cookie 中的数据库名称然后使用其他数据库之外,一切都运行良好。
我的问题是如何修改 IdentityServer4 授权,这样当您使用一个数据库登录时,您将无法访问另一个数据库(如果您在 cookie 中更改了数据库名称,则在发送 http 请求时返回 403 错误代码) - 取决于数据库。
我想如果令牌存储在 AspNetUserTokens 表中,也许我可以检查每个请求,但我注意到即使成功登录,该表也是空的。
【问题讨论】:
标签: asp.net-core entity-framework-core asp.net-core-webapi identityserver4 blazor