【发布时间】:2018-01-28 17:29:05
【问题描述】:
我正在使用 Identity Server 4、Asp Identity、EF Core 和一个数据库。 我目前有 3 个项目
- IdentityServer - 包含我的应用表的所有数据上下文和所有迁移
- Api - 没有上下文,没有迁移,但是我需要从这里以某种方式访问数据库
- Clinet - javascript
问题: 如何从 IdentityServer 项目访问数据上下文并且仍然在一个地方拥有所有设置(数据库连接等)。我知道我可以从 API 引用 IdentityServer 并使用数据上下文,但这对我来说似乎不合适。这样做的首选方法是什么?
【问题讨论】:
-
IdentityServer 不是您的应用表的位置。这些是单独的上下文和单独的迁移。首选方法是保持关注点的分离。
-
@RuardvanElburg 我还需要 ASP 身份表,并从我的应用程序与 ASP 身份的用户表建立关系。而身份服务器也需要 Asp Identity 表
-
谢谢。但是如果我有两个数据库 AppUser 需要知道它属于 IdentityUser。所以当用户使用 IdentityServer 注册时,IdentityServer 需要将新的 AppUser 插入到另一个数据库表中。
-
这个不用改,一旦用户登录并且不存在,你可以在你的应用数据库中注册用户。调用 Ids4 的 UserInfo 端点来请求有关用户的信息。
-
@RuardvanElburg 谢谢。它可能有效,但似乎有点复杂。难道你没有一个一起工作的例子(与 IS 用户和应用程序用户)?
标签: database asp.net-core asp.net-identity identityserver4 ef-core-2.0