首先引入包

<ItemGroup><PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.6" /><PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.6" /><PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="3.1.6" /></ItemGroup>

添加dbcontext

public class AppDataContext:IdentityDbContext{public AppDataContext(DbContextOptions<AppDataContext> options):base(options){}}

在HomeController中编写登录与注册

[Authorize]public IActionResult Secret(){return View();}public IActionResult Login(){return View();}[HttpPost]public async Task<IActionResult> Login(string username, string password){//login functionalityvar user = await _userManager.FindByNameAsync(username);if (user != null){//sign invar signInResult = await _signInManager.PasswordSignInAsync(user, password, false, false);if (signInResult.Succeeded){return RedirectToAction("Index");}}return RedirectToAction("Index");}public IActionResult Register(){return View();}[HttpPost]public async Task<IActionResult> Register(string username, string password){//register functionalityvar user = new IdentityUser{UserName = username,Email = "",};var result = await _userManager.CreateAsync(user, password);if (result.Succeeded){//generation of the email tokenvar code = await _userManager.GenerateEmailConfirmationTokenAsync(user);var link = Url.Action(nameof(VerifyEmail), "Home", new { userId = user.Id, code }, Request.Scheme, Request.Host.ToString());return RedirectToAction("EmailVerification");}return RedirectToAction("Index");}

Login.cshtml

<form action="/Home/Login" method="post"><input type="text" name="username" value="" /><input type="text" name="password" value="" /><button type="submit">Login</button>
</form>

startup中

services.AddDbContext<AppDbContext>(config =>{config.UseInMemoryDatabase("Memory");});// AddIdentity registers the servicesservices.AddIdentity<IdentityUser, IdentityRole>(config =>{config.Password.RequiredLength = 4;config.Password.RequireDigit = false;config.Password.RequireNonAlphanumeric = false;config.Password.RequireUppercase = false;config.SignIn.RequireConfirmedEmail = true;}).AddEntityFrameworkStores<AppDbContext>().AddDefaultTokenProviders();services.ConfigureApplicationCookie(config =>{config.Cookie.Name = "Identity.Cookie";config.LoginPath = "/Home/Login";});

identity认证相关推荐

  1. .NET CORE认证1.认识登陆和授权

    引子 最近在学习IdentityServer4,看了园子里大神们的文章,但是看完之后,能明白这样做可以达到业务需求.但是为什么这样做可以达到业务需求,我用其他方式不行吗?为什么这样做可以呢.也就是老话 ...

  2. mysql安装必要组件_openstack必须安装哪些组件

    一. 数据库 a) 安装 # apt-get install python-mysqldb mysql-server b) 配置 修改 /etc/mysql/my.cnf [mysqld] - bin ...

  3. 解读ASP.NET 5 MVC6系列(6):Middleware详解

    在第1章项目结构分析中,我们提到Startup.cs作为整个程序的入口点,等同于传统的Global.asax文件,即:用于初始化系统级的信息(例如,MVC中的路由配置).本章我们就来一一分析,在这里如 ...

  4. 【.NETCore 3】Ids4 ║ 统一角色管理(上)

    前言 书接上文,咱们在上周,通过一篇<思考> 性质的文章,和很多小伙伴简单的讨论了下,如何统一同步处理角色的问题,众说纷纭,这个我一会儿会在下文详细说到,而且我最终也定稿方案了.所以今天咱 ...

  5. 从壹开始 [ Ids4实战 ] 之三║ 详解授权持久化 用户数据迁移

    哈喽大家周三好,今天终于又重新开启 IdentityServer4 的落地教程了,不多说,既然开始了,就要努力做好?. 书接上文,在很久之前的上篇文章<二║ 基础知识集合 & 项目搭建一 ...

  6. H12-723题库-个人整理笔记

    H12-723: Agile Controller-Campus 系统架构属于 C/S 架构. A.正确 B.错误 答案:B Agile Controller-Campus 系统架构属于 B/S 架构 ...

  7. OpenStack搭建过程(随笔搭建)

    项目二 理论知识 1.项目需求分析 1.基本概念 需求分析是指理解用户需求,就用户的功能需求与客户达成一致,并需要估计项目风险和评估项目代价,最终形成开发计划的一个复杂过程.在这个过程中,用户是处在主 ...

  8. 华为云 内容审核API调用 前端 js uni-app

    文章目录 前言 一.华为云的内容审核api的调用需要哪些东西? 二.使用步骤 1.先注册一个华为云的账号 2.申请内容审核服务 3.[华为云内容审核API的官方文档](https://support. ...

  9. keystone对接ldap

    一. 为什么使用LDAP 随着公司内部各种开源平台越来越多(例如:gitlab.Jenkins.Yapi等等),账号维护变成一个繁琐麻烦的事情,急需有一个统一的账号维护平台,一个人只需一个账号,在公司 ...

最新文章

  1. java 嵌套对象序列化_在javascript中将复杂的,嵌套的,用户定义的对象序列化为字符串...
  2. YYCache 源码学习(二):YYDiskCache
  3. 【C++】rand函数的基本使用
  4. vi 多窗口同步滚动--适用于人工文件比较
  5. (70)Verilog HDL测试激励:复位激励2
  6. dos命令窗口光标闪烁_10 分钟上手 Vim,常用命令大盘点
  7. 2018前端开发面试备忘录(1年以上经验初中级别前端开发)-面试篇
  8. idea Error:(1, 10) java: 需要class, interface或enum, 未结束的字符串文字,Error:(55, 136) java: 非法字符: \65533...
  9. 日用品 跟帖补充一个单词奖励1Euro,请勿恶意灌水,以保持帖子的连贯.
  10. 智慧消防用电安全监控系统解决方案
  11. 列表嵌套type属性默认值
  12. 高德地图WEB端软件应用
  13. Java支付宝APP支付-验证异步通知消息
  14. Wpa_supplicant.conf用法小结
  15. linux使用grep查找文件内容,Linux中使用grep命令搜索文件名及文件内容的方法
  16. html5知识点:超文本标记语言编程
  17. 智能制造案例分享系列之海尔互联工厂
  18. 小型企业5种实惠的品牌建立策略
  19. 图片大小自适应垂直居中的方法
  20. 马毅沈向洋曹颖最新AI综述火了!耗时3月打造,网友:必读论文

热门文章

  1. 吴小龙的 mvp Android MVP 实例
  2. java实现身份证实名认证(阿里云api)
  3. 网络编程 广播、组播
  4. 南通五年制计算机大专学校,2020年南通五年制大专录取分数线有哪些
  5. 使用Python程序批量发送QQ邮件
  6. postgresql源码学习(21)—— 事务日志②-日志初始化
  7. 【SQLServer】127个SQL server热门资料汇总
  8. 应用性能管理(APM)综述
  9. Attention注意力机制--原理与应用
  10. 青岛旅游学校计算机证书,【我和我的旅校】青岛旅游学校优秀毕业生——王子然...