将.Net Core Identity的用户数据通过EF Core持久化到数据库中
伴侣们,距离上次从0开始.NET CORE认证-1颁布已颠末去一周了,上次序一篇文章,其实并没有涉及到Net Core Identity,就是简单的搭了一个项目,让大家对Identity中各类术语有个理解,大白他们呈现的位置,已经他们呈现能够到达某种成果。以及呈现的位置挨次差别,则会呈现什么差此外情况。
回顾一下上次写的主要的常识点
Authentication和Authorization 是什么,怎么解释他们
Claim和ClaimType又是什么,能举例子说明吗?
ClaimsIdentity和ClaimsPrincipal的含义是什么,他们的隶属关系是什么样的?
app.UseAuthorization()和app.UseAuthentication()的意义是什么,能不能变更?
如果你对上面的问题都能回答,我相信你已经看懂了第一篇我讲了什么。
介绍本章,我将会正式引入.Net Core Identity,然后还会引入EF Core,将.Net Core Identity的用户数据通过EF Core长期化到数据库中,用大口语就是把用户数据生存到数据库,以下思维导图的部分就是我们要做的部分
本文含有大量GIF图,请耐心期待加载
创建项目我们继续使用第一篇文章中的解决方案,然后右键——添加——新建项目,选择ASP.NET CORE Web 应用措施,项目名称我们取为:AspNetCoreIdentityExample
同样,我们需要MVC框架来辅佐我们搭建前端页面,所以改削一下StartUp.cs的内容,可以直接从上个项目BasiclyIdentity中复制一个根基代码,使其改削成这样。
1 public class Startup 2 { 3 public void ConfigureServices(IServiceCollection services) 4 { 5 services.AddControllersWithViews(); 6 } 7 8 public void Configure(IApplicationBuilder app, IWebHostEnvironment env) 9 { 10 if (env.IsDevelopment()) 11 { 12 app.UseDeveloperExceptionPage(); 13 } 14 15 app.UseRouting(); 16 17 app.UseEndpoints(endpoints => 18 { 19 endpoints.MapDefaultControllerRoute(); 20 }); 21 } 22 }
StartUp.cs具体操纵看下面的图
然后我们创建一个控制器名为HomeController,里面界说两个Action,一个为Index,此外一个为Secert。也创建两个视图。我们可以直接复制BasiclyIdentity的视图和控制器,并且运行。检察能否正常运行。
具体操纵请看图(
tips:一个解决方案内有多个可启动项目,注意调试的时候选择正确的项目):
调试,发明可以告成运行了。那我们可以开展下一步了
配置框架我们将会使用.Net Core Identity和EF Core辅佐我们打点用户,他并不会默认自带在我们创建的项目中
所以我们需要引入五个Nuget包:
Microsoft.AspNetCore.Identity
Microsoft.AspNetCore.Identity.EntityFrameworkCore
Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
这五个包卖力差此外成果,
Microsoft.AspNetCore.Identity //包罗AspNetCore.Identity的框架,我们可以使用里面认证授权等成果,最根本的成果
Microsoft.AspNetCore.Identity.EntityFrameworkCore //对AspNetCore.Identity的扩展,让其可以和EF Core共同使用
Microsoft.EntityFrameworkCore //EF Core 这个不用我多说了吧
Microsoft.EntityFrameworkCore.SqlServer //EF Core用来连接sql server的包,如果使用mysql,最后一个换名字就行了
Microsoft.EntityFrameworkCore.Tools //在VS 命令行里面迁移数据需要用的命令 add-migration update-database
然后安置好这五个包之后,创建一个数据库(这个数据库可以是专门存放用户信息的数据库,也可以是跟业务耦合在一起的数据库)因为这个只是关于用户打点的示例项目,所以没有业务。所以我会创建一个AppUserDb的数据库,在项目中的appsetting.json中会配置好连接字符串
链接字符串的格局
Server=.;Database=TBS;User ID=AppUserDb;Password=Dd112233;Trusted_Connection=False;MultipleActiveResultSets=true
具体操纵看图-安置NuGet包
创建数据库和配置连接字符串
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32158.html
- 上一篇:js 阳历、阴历互转
- 下一篇:PHP连接Informix异常