ToB企服应用市场:ToB评测及商务社交产业平台

标题: netcore Identity(一) [打印本页]

作者: 不到断气不罢休    时间: 2023-7-20 13:52
标题: netcore Identity(一)
描述

asp.net Core Identity提供给我们一组工具包和API,能帮助我们应用程序创建授权和认证功能。也可以用它创建账户并使用用户名和密码进行登录,同时也提供了角色和角色管理功能。
1.创建项目


Program.cs
  1. app.UseAuthorization();
  2. app.UseAuthorization();
复制代码
IdentityUser常用属性
名称描述ID用户唯一IDUserName用户名称Email用户EmailPasswordHash用户密码Hash的值PhoneNumber用户电话号码SecurityStamp当每次用户的数据修改时生成随机值创建Database Context
  1. DataBase Context类继承IdentityDbContext<T>类,T表示User类,在应用程序中使用AppUser,IdentityDbContext通过使用EntityFrameworkCore和数据库进行交互
复制代码
AppIdentyDbContext继承IdentityDbContext
  1. namespace IdentityDemo1.Models
  2. {
  3.     public class AppIdentityDbContext : IdentityDbContext<AppUser>
  4.     {
  5.         public AppIdentityDbContext(DbContextOptions<AppIdentityDbContext> options) : base(options)
  6.         {
  7.         }
  8.     }
  9. }
复制代码
创建数据库字符串连接

appsettings.json中配置
appsettings.json中配置数据库连接字符串
  1. {
  2.   "Logging": {
  3.     "LogLevel": {
  4.       "Default": "Information",
  5.       "Microsoft.AspNetCore": "Warning"
  6.     }
  7.   },
  8.   "ConnectionStrings": {
  9.     "Default": "Data Source=.;Initial Catalog=IdentityDemo;Integrated Security=True;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=true"
  10.   },
  11.   "AllowedHosts": "*"
  12. }
复制代码
在AddDbContext()方法中添加AppIdentityDbContext类并且指定它使用SqlServer数据库,连接字符串从配置文件中读取点击查看代码
  1. builder.Services.AddDbContext<AppIdentityDbContext>(opt =>
  2. {
  3.     opt.UseSqlServer(builder.Configuration["ConnectionStrings:Default"]);
  4. });
复制代码
添加Asp.Net Identity服务

添加Asp.Net Identity服务
  1. builder.Services.AddIdentity<AppUser, IdentityRole>()
  2.     .AddEntityFrameworkStores<AppIdentityDbContext>()
  3.     .AddDefaultTokenProviders();
复制代码
- AddIdentity方法的参数类型指定AppUser类和IdentityRole类- AddEntityFrameworkStore方法指定Identity使用EF作为存储和项目中使用AppIdentityContext作为Db Context- AddDefaultTokenProviders方法添加默认Token提供程序,针对重置密码,电话号码和邮件变更操作以及生成双因子认证的token- 添加了app.UseAuthentication()方法,经过这个方法的每个http请求将用户的凭据添加到Cookie中或URL中,这使得用户和它发送的http请求会产生关联。使用EF Migration命令创建Identity数据库

nuget命令
  1. nuget EntityFrameworkCore.Tool
  2. Add-Migration InitCreateDB
  3. update-database
复制代码
执行后的结果是

包含用户记录,角色,Claims,token 和登录次数详细信息等。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4