繁体   English   中英

我想为 ASP.NET 核心标识中的用户创建一个帐户,但我无法将数据插入表 dbo.AspNetUsers

[英]I want to create an account for a user in ASP.NET Core identity but I can't insert the data into table dbo.AspNetUsers

我有一个用户列表,我想 select 一个用户并为他创建一个帐户。 我正在使用 IdentityUser,但我无法在我的表dbo.AspNetUsers中插入数据我会很高兴得到任何帮助,谢谢

这是 controller:

namespace PFE_Management.Controllers
{
    public class StudentsController : Controller
    {
        //Injection des dependances 
        private readonly ApplicationDbContext _context;
        private readonly UserManager<IdentityUser> _userManager;
        private SignInManager<IdentityUser> _signManager;

        public StudentsController(ApplicationDbContext context, 
            UserManager<IdentityUser> user,
            SignInManager<IdentityUser> signManager)
        {
            _context = context;
            _userManager = user;
            _signManager = signManager;
        }

        // some code here            
        [HttpPost]
        public async Task<IActionResult> Register(Student model)
        {
            if (ModelState.IsValid)
            {
                var user = new IdentityUser { Email = model.Email };
                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await _signManager.SignInAsync(user, false);
                    return RedirectToAction("Index", "Student");
                }
                else
                {
                    foreach (var error in result.Errors)
                    {
                        ModelState.AddModelError("", error.Description);
                    }
                }
            }
            return View();
        }

    }
}

在此处输入图像描述

在此处输入图像描述

我看到的最大问题是您没有用户名。 尽管所有 Microsoft 教程都将 email 用于用户名和 email 字段 - 您必须同时指定两者:

IdentityUser user = new()
{
    UserName = model.email,
    Email = model.email,
    EmailConfirmed = true
 };
 IdentityResult result = await _userManager.CreateAsync(user, model.password);

此外,如果您仍有问题 - 请发布您从CreateAsync()获得的错误

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM