加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-core – 将标识移动到类库ASP.Net Core

发布时间:2020-12-16 07:42:16 所属栏目:asp.Net 来源:网络整理
导读:我开发了一个基于ASP.Net核心的新项目. 我已将所有EF代码(模型,映射,DbContext)移动到专用DAL类库中,以遵循SOLID规则的单一责任原则. 但是,我现在需要在我的项目中添加身份验证,并且需要将以下内容添加到我的Web项目的Startup.cs中,如不同的教程所示: servi
我开发了一个基于ASP.Net核心的新项目.
我已将所有EF代码(模型,映射,DbContext)移动到专用DAL类库中,以遵循SOLID规则的单一责任原则.

但是,我现在需要在我的项目中添加身份验证,并且需要将以下内容添加到我的Web项目的Startup.cs中,如不同的教程所示:

services.AddIdentity<ApplicationUser,IdentityRole>()
        .AddEntityFrameworkStores<ApplicationDbContext>()
        .AddDefaultTokenProviders();

它将涉及添加Microsoft.AspNetCore.Identity.EntityFrameworkCore包,在我看来,我开始通过将此包包含到我的Web项目中来打破SRP规则.

是否可以将所有身份代码(服务,模型)作为外部类库移动,就像我为DAL所做的那样.

解决方法

由于身份代码同时具有逻辑和UI(登录/注销,注册等),因此它需要是一个Web应用程序.

IMO有两种选择:

>将身份作为单独的Web应用程序.由于Asp.Net Core Identity支持OAuth2(OAuth2支持代码授权等交互式授权),因此用户将在登录/注册过程中重定向到此Web应用程序端点.
>将身份控制器与您的身份控制器相结合,并将身份数据移动到您的DAL库,请参阅:https://www.codeproject.com/Articles/1156558/ASP-NET-Core-Moving-IdentityDbContext-and-EF-model

如果SRP对您很重要,第一个选项可以提供更好的选择.如果重定向到不同的URL对您来说似乎是一个糟糕的用户体验,那么第二个选项可能会更好.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读