netcore Identity(一)

这篇具有很好参考价值的文章主要介绍了netcore Identity(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

描述

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

1.创建项目

  • 配置项
    • nuget包
      • Microsoft.AspNetCore.Identity.EntityFrameWorkCore
      • Microsoft.EntityFrameworkCore.Design
      • Microsoft.EntityFrameworkCore.SqlServer
        netcore Identity(一)

  • 配置项目
Program.cs
app.UseAuthorization();
app.UseAuthorization();

  • 设置Asp.net Core Identity

    User类
      		User类继承IdentityUser类,位于Microsoft.AspNetCore.Identity中
      	在Models文件夹中穿件AppUser类
      		IdentityUser类中提供了一些用户属性,如:用户名、电子邮件、电话、密码hash值等。
      	如果IdentityUser类不能满足要求,可以在AppUser中添加自定义的属性
    

IdentityUser常用属性

名称 描述
ID 用户唯一ID
UserName 用户名称
Email 用户Email
PasswordHash 用户密码Hash的值
PhoneNumber 用户电话号码
SecurityStamp 当每次用户的数据修改时生成随机值
创建Database Context
DataBase Context类继承IdentityDbContext<T>类,T表示User类,在应用程序中使用AppUser,IdentityDbContext通过使用EntityFrameworkCore和数据库进行交互
AppIdentyDbContext继承IdentityDbContext
namespace IdentityDemo1.Models
{
    public class AppIdentityDbContext : IdentityDbContext<AppUser>
    {
        public AppIdentityDbContext(DbContextOptions<AppIdentityDbContext> options) : base(options)
        {

        }
    }
}
创建数据库字符串连接

appsettings.json中配置

appsettings.json中配置数据库连接字符串
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "ConnectionStrings": {
    "Default": "Data Source=.;Initial Catalog=IdentityDemo;Integrated Security=True;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=true"
  },
  "AllowedHosts": "*"
}

在AddDbContext()方法中添加AppIdentityDbContext类并且指定它使用SqlServer数据库,连接字符串从配置文件中读取
点击查看代码
builder.Services.AddDbContext<AppIdentityDbContext>(opt =>
{
    opt.UseSqlServer(builder.Configuration["ConnectionStrings:Default"]);
});
添加Asp.Net Identity服务
添加Asp.Net Identity服务
builder.Services.AddIdentity<AppUser, IdentityRole>()
    .AddEntityFrameworkStores<AppIdentityDbContext>()
    .AddDefaultTokenProviders();
- AddIdentity方法的参数类型指定AppUser类和IdentityRole类 - AddEntityFrameworkStore方法指定Identity使用EF作为存储和项目中使用AppIdentityContext作为Db Context - AddDefaultTokenProviders方法添加默认Token提供程序,针对重置密码,电话号码和邮件变更操作以及生成双因子认证的token - 添加了app.UseAuthentication()方法,经过这个方法的每个http请求将用户的凭据添加到Cookie中或URL中,这使得用户和它发送的http请求会产生关联。
使用EF Migration命令创建Identity数据库
nuget命令
nuget EntityFrameworkCore.Tool
Add-Migration InitCreateDB
update-database

执行后的结果是
netcore Identity(一)
包含用户记录,角色,Claims,token 和登录次数详细信息等。文章来源地址https://www.toymoban.com/news/detail-586164.html

  • __EFMigrationsHistory:包含了前面所有的Migration
  • AspNetRoleClaims :按角色存储Claims
  • AspNetRoles:存储所有角色
  • AspNetUserClaims :存储用户的Claims
  • AspNetUserLogins :存储用户的登录次数
  • AspNetUserRoles: 存储用户的对应的角色
  • AspNetUsers:存储用户
  • AspNetUserTokens 存储外部认证的token

到了这里,关于netcore Identity(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于.NET、ASP.NET和ASP

    1996年,ASP 1.0(Active Server Pages,即ASP) 版本出现了,它引起了Web开发的新革命,降低了动态网页开发的难度。以前开发动态网页需要编写大量繁杂的C代码,编程效率非常低下,而且需要Web网页开发者掌握非常高的编程技巧。而ASP使用简单的脚本语言,能够将代码直接嵌入H

    2024年02月08日
    浏览(30)
  • 【ASP.NET】ASP.NET框架概述

    🌝 作者:@哈桑c(CSDN平台) 🌚 专栏:C#/.NET系列文章 序号 系列文章 0 【ASP.NET】手把手创建一个ASP.NET项目以及MVC模式的介绍 本文是 ASP.NET 框架的概述,相信看完本文之后大家就会对 ASP.NET 框架有一个初步的认识。 ASP.NET 是微软在2000年发布的一个免费的 Web 框架,可以使用

    2024年02月04日
    浏览(79)
  • ASP.NET和ASP.NET Core的区别

    ASP.NET和ASP.NET Core是两个不同的Web应用程序框架,它们都是由Microsoft开发的。ASP.NET是Microsoft推出的第一个Web应用程序框架,而ASP.NET Core是其最新版本。本文将介绍ASP.NET和ASP.NET Core的简介和区别。 ASP.NET的简介 ASP.NET是一个基于.NET框架的Web应用程序框架,它是Microsoft推出的第一

    2024年02月16日
    浏览(51)
  • .Net 6/NetCore3.1 Vue Element Uniapp前后端分离低代码快速开发框架

    这是一个能提高开发效率的开发框架,全自动生成PC与移动端(uniapp)代码;支持移动ios/android/h5/微信小程序。 1、前后端分离项目 2、纯后端项目 3、移动端开发uni-app(IOS、Android、H5、微信小程序) 4、内容管理系统 1、代码生成器 2、一对一与一对多代码生成 3、全自动导入导出

    2024年02月10日
    浏览(29)
  • asp.net与asp.net优缺点及示例

    Asp.net Mvc架构模式是一种低耦合、可测试的web应用程序框架,它是基于CLR和成熟的MVC架构构建的。ASP .NET MVC不支持 ViewState和服务器控件。 Asp.net优点: 1.架构降低了程序间的耦合性,M VC,分层,目标明确 2.性能不支持viewstate,完成html, 已于结合jquery使用, 提供程序性能 3.支持并

    2024年02月15日
    浏览(26)
  • Asp.Net VS ASP.NET Core 请求管道

    参考链接 ASP.NET CORE 启动过程及源码解读 请求进入Asp.Net工作进程后,由进程创建HttpWorkRequest对象,封装此次请求有关的所有信息,然后进入HttpRuntime类进行进一步处理。HttpRuntime通过请求信息创建HttpContext上下文对象,此对象将贯穿整个管道,直到响应结束。同时创建或从应用

    2024年02月04日
    浏览(50)
  • DevExpress DXperience Crack Blazor, ASP.NET, ASP.NET MVC

    DevExpress DXperience helps you build applications for Windows, Web, mobile and tablet with all of the DevExpress single platform controls and more. The DevExpress DXperience Subscription includes hundreds of Desktop UI Controls (WinForms, WPF and Desktop Reporting), Web UI Controls (Blazor, ASP.NET, ASP.NET MVC and Core, Bootstrap Web Forms, JavaScript - jQ

    2024年04月11日
    浏览(30)
  • ASP.NET Core教程:ASP.NET Core 程序部署到Windows系统

    本篇文章介绍如何将一个ASP.NET Core Web程序部署到Windows系统上。这里以ASP.NET Core WebApi为例进行讲解。首先创建一个ASP.NET Core WebApi项目,使用默认的Values控制器,这里使用Visual Studio 2019创建一个ASP.NET Core 3.1d的WebApi项目。 创建新项目的时候选项ASP.NET Core Web应用程序,如下图所

    2023年04月08日
    浏览(35)
  • 【ASP.NET】手把手创建一个ASP.NET项目以及MVC模式的介绍

    🌳 作者:@哈桑c(CSDN平台) 🌲 专栏:C#/.NET系列文章 序号 系列文章 - 【.NET】.NET 框架概述 - .NET环境和开发工具Visual Studio的安装 本文演示如何在 Visual Studio 工具上创建一个 ASP.NET 项目以及 MVC 模式下的项目文件的介绍。相信大家看完之后就会对 ASP.NET 框架有一个初步的认识

    2024年02月06日
    浏览(33)
  • ASP.NET Core MVC -- 将视图添加到 ASP.NET Core MVC 应用

    右键单击“视图”文件夹,然后单击“添加”“新文件夹”,并将文件夹命名为“HelloWorld”。 右键单击“Views/HelloWorld”文件夹,然后单击“添加”“新项”。 在“添加新项 - MvcMovie”对话框中: 在右上角的搜索框中,输入“视图” 选择“Razor 视图 - 空” 保持“名称”框的

    2024年02月13日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包