ASP.NET 2.2 用户角色的问题

Issue with ASP.NET 2.2 user role

我对用户角色有疑问。

在我的应用程序中,当用户注册时,系统会发送一封确认电子邮件,然后指向允许完成注册过程的应用程序内部页面。

被调用的控制器方法通过这些函数识别调用用户:

ApplicationUser CurrentUser = await GetCurrentUserAsync();

public Task<ApplicationUser> GetCurrentUserAsync() => _userManager.GetUserAsync(_httpContextAccessor.HttpContext.User);

用户具有 "Utente" 角色,但系统无法识别。为了被识别,我必须重新登录。

我的问题是用户注册表将其插入"Users"组并向用户发送确认邮件。用户单击此电子邮件上的 link 结束注册,然后无需再次登录即可使用该应用程序。

我想我可以使用类似于以下的解决方案来解决问题:

add SignInManager.SignIn(user, false, false); (if you dont have user, var user = UserManager.FindById(User.Identity.GetUserId())) before RedirectToAction("Index", "Members");

谁能告诉我如何在 ASP.NET CORE 2.2 中做到这一点?

谢谢。

我解决了将用户分配给角色后刷新登录的问题,如下所示:

await _userManager.AddToRoleAsync(user, "Utente");

await _signInManager.SignInAsync(user, isPersistent: false);