【发布时间】:2017-05-28 09:45:09
【问题描述】:
我开发了一个基于 ASP.Net 核心的新项目。 为了遵循 SOLID 规则的单一职责原则,我已将所有 EF 代码(模型、映射、DbContext)移动到专用的 DAL 类库中。
但是,我现在需要将身份验证添加到我的项目中,并且需要将以下内容添加到我的 Web 项目的 Startup.cs 中,如不同教程中所示:
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
这将涉及添加 Microsoft.AspNetCore.Identity.EntityFrameworkCore 包,在我看来,我开始通过将此包包含到我的 Web 项目中来打破 SRP 规则。
是否可以像我为 DAL 所做的那样将所有身份代码(服务、模型)作为外部类库移动。
【问题讨论】:
-
是的,你可以。将其移至外部库中的扩展方法并在组合根目录(即 Web 项目)中调用它。
-
以下,因为我正在尝试做同样的事情,但还没有弄清楚。
标签: asp.net-core entity-framework-core asp.net-core-identity