gpt4 book ai didi

entity-framework - IdentityServer4 PersistedGrantDbContext & ConfigurationDbContext

转载 作者:行者123 更新时间:2023-12-03 15:19:50 26 4
gpt4 key购买 nike

IdentityServer 4 的新手。我遵循了 IdentityServer4 EntityFramework 示例 here在文档上。

迁移脚本运行后

dotnet ef migrations add InitialIdentityServerPersistedGrantDbMigration -c PersistedGrantDbContext -o Data/Migrations/IdentityServer/PersistedGrantDb
dotnet ef migrations add InitialIdentityServerConfigurationDbMigration -c ConfigurationDbContext -o Data/Migrations/IdentityServer/ConfigurationDb

它可以工作,现在我的应用程序有 3 个 DB 上下文。
  • ApplicationDbContext
  • PersistedGrantDbContext
  • 配置数据库上下文

  • 我的问题是这两个数据库上下文是什么?应用程序数据库上下文和其他两个有什么区别?

    如果我更新或添加任何模型,是否需要更新所有三个模型?或者我应该什么时候在 ApplicationDbContext 上运行迁移,什么时候在其他两个上运行。

    任何关于这些的见解或文献都表示赞赏。
    谢谢。

    最佳答案

    弄清楚了。把这个留给像我一样对此感到困惑的人。

    有 3 个数据库上下文,正如@Jasen 所提到的,它用于拆分对实体或表的访问。

    IdenityServer4 + EntityFramework + ASP.NET Identity 在数据库中创建以下表:

    SQL Server Tables

    上下文用于引用以下内容:

    ApplicationDbContext - 负责涉及 ASP.NET Identity so 表的用户

  • dbo.AspNetRoleClaims
  • dbo.AspNetRoles
  • dbo.AspNetUserClaims
  • dbo.AspNetUserLogins
  • dbo.AspNetUserRoles
  • dbo.AspNetUsers
  • dbo.AspNetUserTokens

  • PersistedGrantDbContext - 负责存储同意、授权代码、刷新 token 和引用 token
  • dbo.PersistedGrants

  • ConfigurationDbContext - 负责数据库中剩余的所有其他内容

    因此,关于迁移,如果我更新任何 AspNet Identity 模型(即 ApplicationUser),那么我将在 ApplicationDbContext 上运行迁移。任何客户端表或其他范围都将在 ConfigurationDbContext 上运行。并且访问实体(或表)将是相应的上下文。

    关于entity-framework - IdentityServer4 PersistedGrantDbContext & ConfigurationDbContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45574821/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com