任务45:Identity MVC:注册逻辑实现 做登陆 在注册成功直接进行登陆,使用SignIn 这里的signIn实际上是HttpContext.Signin的封装 await _signManager.SignInAsync(identityUser, new AuthenticationProperties { IsPersistent = true }); 再次执行注册的页面 查看到cookie内有值了 改动 登陆成功后进行判断 @if (User.Identity.IsAuthent…
任务46:Identity MVC:登录逻辑实现 实现登陆的方法 退出方法 _layout里面增加如下的代码: Login.cshtml 运行代码测试: 这个地方的单词之前拼错了.这里进行修正 输入账号密码,加断点进行测试 然后就成功跳转到了Home页面 点击用户名跳转到 Admin 页面 退出 退出这里的代码 应该是Loginout方法 我之前写错了.这里修正一下 这里的退出好像没有什么作用 依然能监测到用户名.虽然也跳转到Home页面了…
任务47:Identity MVC:ReturnUrl实现 在最上面加一个私有的方法 登陆也加上returnUrl Login的post方法.加入returnUrl的参数 登陆界面也需要加上 asp-route-returnUrl="@ViewBag["ReturnUrl"]" 退出的代码进行修改,否则是无法退出的 public async Task<IActionResult> LoginOut() { //HttpContext.SignOutAsy…
任务48:Identity MVC:Model后端验证 RegisterViewModel using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.ComponentModel.DataAnnotations; namespace MvcCookieAuthSample.ViewModels { public class Regist…
任务49:Identity MVC:Model前端验证 前端验证使用的是jquery的validate的组件 _ValidationScriptsPartial.cshtml 在我们的layout里面有RenderSection 所以我们可以在Login页面增加上.在登陆页面的最下方 @section Scripts{ @await Html.PartialAsync("_ValidationScriptsPartial") } 点击登陆是没有任何的网络请求的.是通过js去验证的 Re…
任务50:Identity MVC:DbContextSeed初始化 首先添加seed 每次应用程序启动,监测一下,是否是第一次启动.如果是第一次执行,我们需要在数据库内添加一个记录 比如说我们的用户账号,我们在第一次进来的时候,我们需要有一个管理员 在Data文件夹下新建: ApplicationDbContextSeed.cs using System; using System.Collections.Generic; using System.Linq; using System.Thr…
前言 最近没什么写的,写个MVC注册巩固一下 HTML @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>注册 - 瑰园美食</title> <link rel="icon" href="~…
1-注册页Register.cshtml <h3>Register</h3> @model MvcCookieAuthSample.ViewModel.RegisterViewModel <div class="row"> <div class="col-md-4"> <form method="post"> <h4>register a new account</h4…
Identity是Asp.Net Core全新的一个用户管理系统,它是一个完善的全面的庞大的框架,提供的功能有: 创建.查询.更改.删除账户信息 验证和授权 密码重置 双重身份认证 支持扩展登录,如微软.Facebook.google.QQ.微信等 提供了一个丰富的API,并且这些API还可以进行大量的扩展 接下来我们先来看下它的简单使用.首先在我们的DbContext中需要继承自IdentityDbContext. public class AppDbContext:IdentityDbCon…
基本流程图 注册页面就不再写出,现在将发送邮件的代码粘贴出来 public ActionResult SendEmial() { ; string validataCode = System.Guid.NewGuid().ToString(); try { System.Net.Mail.MailAddress from = new System.Net.Mail.MailAddress(xxxxxxxx@163.com, "wode"); //填写电子邮件地址,和显示名称 Syste…