![](/img/trans.png)
[英]ASP.NET MVC 5 Core Identity CompanyID foreign key on dbo.AspNetUsers table
[英]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.