ASP.NET Core - 创建用户

ASP.NET Core - 创建用户 首页 / ASP.Net Core入门教程 / ASP.NET Core - 创建用户

在本章中,无涯教程将讨论如何创建用户,为此,需要与Identity框架进行交互,以确保用户有效,然后创建该用户,然后继续并登录。

private SignInManager<User> _signManager; 
private UserManager<User> _userManager;  

public AccountController(UserManager<User> userManager, SignInManager<User> signManager){
   _userManager = userManager; 
   _signManager = signManager; 
}
  • 将继续使用AccountController的POST操作方法,并且应始终在post动作内进行的首批检查之一是检查ModelState是否有效。

  • 如果ModelState有效,那么知道用户为提供了用户名和密码并确认了密码;如果没有,需要请他们提供正确的信息。

  • 这是Register操作的实现。

[HttpPost] 
public async Task<IActionResult> Register(RegisterViewModel model) { 
   if (ModelState.IsValid) { 
      var user = new User { UserName = model.Username }; 
      var result = await _userManager.CreateAsync(user, model.Password);
     
      if (result.Succeeded) { 
         await _signManager.SignInAsync(user, false); 
         return RedirectToAction("Index", "Home"); 
      } else { 
         foreach (var error in result.Errors) { 
            ModelState.AddModelError("", error.描述); 
         } 
      }  
   } 
   return View(); 
}        

保存所有文件并运行应用程序,然后转到/account/register 。

Register

输入一个用户名和一个非常简单的5个字符的密码。

Username and Password

现在,单击注册按钮。

Register Button

默认情况下,身份框架会尝试强制执行一些有关密码的规则。

密码必须至少包含6个字符,一个字符必须小写,一个字符必须大写,并且必须有一个非数字字符。

无涯教程网

这些错误出现在这里的原因是因为在页面上有一个验证摘要,该摘要总结了从 userManager.CreateAsync 输出返回的错误。

现在,对密码规则有了更多的了解,尝试创建一个足够复杂的密码,然后单击"Register"。

User Management

您现在将看到主页。这意味着该操作有效。现在转到SQL Server Objext Explorer。

Server对象Explorer

右键单击 dbo.AspNetUsers 表,然后选择查看数据。

DBO AspNet Users

现在,您可以看到该用户已成功创建,并且还可以在Users表中看到一条新记录,您还可以看到哈希密码值和用户名,这是无涯教程在 mark.upston 中注册的用户名。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

数据结构与算法之美 -〔王争〕

趣谈Linux操作系统 -〔刘超〕

Java性能调优实战 -〔刘超〕

OAuth 2.0实战课 -〔王新栋〕

手把手教你玩音乐 -〔邓柯〕

说透5G -〔杨四昌〕

如何读懂一首诗 -〔王天博〕

B端产品经理入门课 -〔董小圣〕

给程序员的写作课 -〔高磊〕

好记忆不如烂笔头。留下您的足迹吧 :)