将 Identity Server 4 和 Entity Framework Core 集成在一起时的表冲突

Chao Xie

我使用命令“dotnet new angular ...”生成了一个 dotnet 核心项目。具有个人帐户身份验证选项。dotnet 核心生成了一个具有应用程序数据上下文的项目,如下所示。

public class ApplicationDbContext : ApiAuthorizationDbContext<ApplicationUser>
{
    public ApplicationDbContext(
        DbContextOptions<ApplicationDbContext> options,
        IOptions<OperationalStoreOptions> operationalStoreOptions) : base(options, operationalStoreOptions)
    {
    }

我想将身份服务器 4 集成到同一个项目中,并在 api 控制器的同一个实例上提供服务。我按照下面链接的指南将配置和操作存储存储在 ef 数据库中。http://docs.identityserver.io/en/latest/reference/ef.html

我发现,DeviceCodes 和 Persisted Grant 表已经存在于数据库中。而我尝试迁移数据库以满足操作存储的要求。我查看了 ef 源代码,ApiAuthorizationDbContext 类已经包含这些表来支持 Identity Server。

现在我不太确定哪个是最好的解决方案 (1) 我应该切换 ApplicationDbContext 来扩展 IdentityDbContext 而不是 ApiAuthorizationDbContext 并完全使用上面指南中描述的方式吗?(2) 还是应该跳过与 OperationalStore DbContext 相关的步骤,让身份服务器 4 使用 ApiAuthorizationDbContext 提供的现有表?我怎样才能把它们放在一起?最佳做法是什么?非常感谢您提前。

托内斯泰纽斯

在我的应用程序中,我获取了 IdentitServer4 entitframework 核心 NuGet 包的源代码,并将它们添加到我的 IdentityServer 项目中(在一个单独的类库中)。

通过这样做,我可以控制它的实现方式以及如何/何时应用迁移。这样可以更轻松地根据需要对其进行自定义。

然后为 IdentityServer 和您的应用程序需求提供单独的上下文也可以很好地分离关注点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将 CosmosDB 提供程序用于 Entity Framework Core 和 Azure 表时出错

如何使用 ASP.NET Core、Identity Framework 和 Entity Framework 显示特定用户创建的内容

Identity Server 4 + Identity Framework + React前端

使用Identity配置IdentityServer 4,将services.AddAuthentication()和services.AddIdentity()组合在一起

将Identity Server与SAML 2和其他Identity Providers一起使用的SSO

如何使用 Identity & Entity Framework 在 .NET Core 2.0 中管理身份验证和授权

Identity Server 4和Docker

在UWP应用上将Entity Framework Core与SQL Server一起使用时出错

我无法在SQL Server上将Devart与Entity Framework Core一起使用

在UWP项目中是否可以将MVVM Light与Entity Framework Core一起使用?

将 Entity Framework Core 与 Cosmos Db 一起使用时映射无键类型

Identity Server 4 EF Core在API和IS4之间共享DbContext

在Entity Framework Core和UWP中删除表

可以在同一项目中使用Entity Framework和Entity Framework Core吗?

在ASP.NET Core 2.1中将Sqlite与Entity Framework Core一起使用不起作用

Identity Server 4:使用EntityFramework Core进行配置和操作数据

使用 Asp.net Core 2.1 和 Identity Server 4 的身份验证/授权

原始SQL查询和Entity Framework Core

将IdentityServer 4与ASP.NET Core Identity一起使用的附加价值是什么?

您可以将 v3 Azure Functions 与 Entity Framework Core 3.0 一起使用吗?

SQL Server与Docker和Entity Framework的连接

与EF 6一起部署Entity Framework Core 2.0?

配置服务时出错 - 将 Entity Framework Core 添加到 ASP.NET Core

ASP.NET Core 3.1和Entity Framework Core:一对多关系

ASP.NET Core & Entity Framework Core:一对多关系和导航属性

使用Entity Framework Core和SQLite迁移数据库时,表已存在异常

如何在ASP.NET MVC Core中为Identity Server 4编写集成测试

ASP.NET Identity 与 ASP.NET Identity Core:与 Identity Server 等的区别和用法?

使用Identity Server 4刷新同时包含视图和资源的MVC Core应用程序中的访问令牌的最佳实践