首页 > 其他分享 >284 User Manager

284 User Manager

时间:2024-06-14 18:58:10浏览次数:6  
标签:Register userManager roleManager 284 public Manager User using registerDTO

示例

1、将RegisterDTO.cs中的Name字段改为PersonName,相应的Register.cshtml视图中也要更新;

2、AccountController.cs更新为如下

using ContactsManager.Core.Domain.IdentityEntities;
using ContactsManager.Core.DTO;
using CRUDExample.Controllers;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;

namespace ContactsManager.UI.Controllers
{
    [Route("[controller]/[action]")]
    public class AccountController : Controller
    {
        private readonly UserManager<ApplicationUser> _userManager;
        private readonly RoleManager<ApplicationRole> _roleManager;

        public AccountController(UserManager<ApplicationUser> userManager, RoleManager<ApplicationRole> roleManager)
        {
            _userManager = userManager;
            _roleManager = roleManager;
        }

        [HttpGet]
        public IActionResult Register()
        {
            return View();
        }

        [HttpPost]
        public async Task<IActionResult> Register(RegisterDTO registerDTO)
        {
            //Check for validation errors
            if (ModelState.IsValid == false)
            {
                ViewBag.Errors = ModelState.Values.SelectMany(temp => temp.Errors).Select(temp => temp.ErrorMessage);
                return View(registerDTO);
            }
            //TO DO: Store user registration details into Identity database
            ApplicationUser applicationUser = new ApplicationUser()
            {
                PersonName = registerDTO.PersonName,
                Email = registerDTO.Email,
                PhoneNumber = registerDTO.Phone,
                UserName = registerDTO.Email
            };
            IdentityResult result = await _userManager.CreateAsync(applicationUser,registerDTO.Password);
            if (result.Succeeded)
            {
                return RedirectToAction(nameof(PersonsController.Index), "Persons");
            }
            else
            {
                foreach (IdentityError error in result.Errors)
                {
                    ModelState.AddModelError("Register",error.Description);
                }
                return View(registerDTO);
            }
        }
    }
}

3、运行程序点击Register填写字段后,点击Register出现如下报错

说明在更换DbContext更换为IdentityDbContext后没有执行更新数据库的命令

4、执行Add-Migration Idenity和Update-DataBase命令

运行程序注册后,数据表中AspNetUsers可以看到注册的用户。

Gitee获取源码:

https://gitee.com/huang_jianhua0101/asp.-net-core-8.git

标签:Register,userManager,roleManager,284,public,Manager,User,using,registerDTO
From: https://blog.csdn.net/KevinHuang2088/article/details/139688330

相关文章

  • 285 SignIn Manager
    示例1、AccountController.cs中添加SignInManagerprivatereadonlyUserManager<ApplicationUser>_userManager;privatereadonlyRoleManager<ApplicationRole>_roleManager;privatereadonlySignInManager<ApplicationUser>_signInManager;publicAcc......
  • issue: java.lang.NoClassDefFoundError: javax/el/ELManager
    问题描述:Contextinitializationfailedorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'validator'definedinclasspathresource[applicationContext.xml]:Errorsettingpropertyvalues;nestedexceptioniso......
  • AlertManager解析:构建高效告警系统
    本文深入探讨了AlertManager的技术细节和实际应用,从基本概念、核心组件、工作流程,到与Prometheus的集成和实战案例,旨在为专业人士提供一个全面的AlertManager技术和应用指南。关注作者,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、......
  • WPF dependency property to customize control in usercontrol
    //usercontrol<UserControlx:Class="WpfApp157.ImageListBox"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xm......
  • ResourceManager unable to find resou
    哈喽,大家好,我是木头左,AI改变生活!一、问题描述在使用Mybatis自定义模板引擎时,可能会遇到一些问题。本文将介绍一个常见的报错信息:org.apache.velocity.exception.ResourceManagerException:Unabletofindresource。这个错误通常表示Velocity引擎无法找到指定的资源文件。本......
  • 腾讯冷启动论文阅读《Enhancing User Interest based on Stream Clustering and Memor
    背景用户冷启动一直是推荐系统中的一个难题,新用户(或非活跃用户)由于缺少行为数据,模型预估不准确。为了改善用户冷启动,腾讯提出了UserInterestEnhancement(UIE)模型(论文中提到也可以用于item的冷启动)。基本思想是先对用户聚类,然后用userembedding检索最相似的k个聚类中心来表示......
  • Mac环境如何使用Flutter Version Manager (fvm)
    Mac环境如何使用FlutterVersionManager(fvm)FlutterVersionManager(fvm)是一个Flutter版本管理工具,它允许开发者在本地安装并管理多个Flutter版本。使用fvm,您可以轻松切换不同版本的FlutterSDK,进行多项目开发而无需重复安装。本文将为您提供一个全面的指南,介......
  • Windows环境如何使用Flutter Version Manager (fvm)
    Windows环境如何使用FlutterVersionManager(fvm)FlutterVersionManager(fvm)是一个用于管理多个FlutterSDK版本的命令行工具,它允许开发者在不同项目之间轻松切换Flutter版本。这对于需要维护多个使用不同Flutter版本的项目的开发人员来说非常有用。本文将为......
  • Diffusers代码学习: T2I Adapter
    T2IAdapter是一款轻量级适配器,用于控制文本到图像模型并为其提供更准确的结构指导。它通过学习文本到图像模型的内部知识与外部控制信号(如边缘检测或深度估计)之间的对齐来工作。T2IAdapter的设计很简单,条件被传递到四个特征提取块和三个下采样块。这使得针对不同的条件快速......
  • 基于user-agent 转发
    在Nginx中,可以使用$http_user_agent变量来获取请求的User-Agent头,然后基于这个头的值来决定如何转发请求。实现方式一:http{map$http_user_agent$backend{defaulthttp://backend3;~*Chromehttp://backend1;~*Firefoxhttp://backend2;......