【问题标题】:IdentityServer: How to create databases for EF support & aspnet Identity supportIdentityServer:如何为 EF 支持和 aspnet Identity 支持创建数据库
【发布时间】:2018-04-07 06:08:26
【问题描述】:

因此,基于 IdentityServer3 文档,我可以使用实体框架来存储客户端、范围和操作数据 (documentation here) 我需要使用Install-Package IdentityServer3.EntityFramework 安装 nugget 包 但是我找不到任何关于如何创建数据库的说明。我需要运行什么命令或脚本才能在数据库下创建

同样的问题也适用于用户商店。我打算使用 Asp.Net 身份来存储用户信息。我需要安装Install-Package IdentityServer3.AspNetIdentity 包。没有关于创建数据库结构的明确说明

有相应的示例项目EntityFrameworkAspnetIdentity,但如果这些项目使用最新架构,则可以信任。 示例项目还使用示例数据创建数据库。我想要干净的数据库结构。

【问题讨论】:

    标签: asp.net-identity identityserver3 identityserver4


    【解决方案1】:

    文档明确表示您负责数据库架构和迁移:https://identityserver.github.io/Documentation/docsv2/ef/migrations.html

    【讨论】:

    • 您在迁移方面是对的,但是要进行迁移,我需要先构建一个初始模型和数据库。 (而且我也不在寻找迁移)我正在寻找如何在没有任何数据的情况下为客户端、范围和 ASPNET 身份构建初始模型和数据库。
    • 架构会发生变化,因此您必须采用某种方法来处理它。如果您使用 EF,那么您可以使用迁移。如果您使用我们的 EF 库,那么您将拥有一组实体,它们是架构在某个时间点的快照。随着时间的推移,您仍然需要管理迁移这些内容。
    • 正如我所说,一旦我们最终确定 IdentityServer,迁移将在之后进行。目前我正在审查 IdentityServer 以查看它是否符合我们的要求。为此,我正在开发概念证明。
    • 也许这里的混淆是您使用相同的 EF 迁移工具来创建数据库。同样,请参阅上面文档链接中的 Update-Database
    【解决方案2】:

    问题是关于初始设置,而不是 IdSrvr 何时增强。

    为 identityServer3.EntityFramework 添加 nuget(选择您的版本。)。在您的 DbContext 类中添加:

    public DbSet<Client> Clients { get; set; }
    public DbSet<ClientClaim> ClientClaims { get; set; }
    public DbSet<ClientSecret> ClientSecrets { get; set; }
    public DbSet<Consent> Consents { get; set; }
    public DbSet<Scope> Scopes { get; set; }
    public DbSet<ScopeClaim> ScopeClaims { get; set; }
    

    在控制台中运行添加迁移命令,您将看到初始迁移。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多