Пользователь может иметь только одну роль одновременно.
После входа в систему пользователь должен выбрать одну роль из список системной навигации в соответствии с выбранной ролью
Он может изменить свою текущую роль внутри приложения без необходимости выхода из системы. Например, он хочет сменить «Администратор» на «Общий».
Как получить контекст пользователя и перейти к выбору роли, в настоящее время роли требуют авторизацииКак я добавлял роли в заявки
Код: Выделить всё
//dados usuario logado
Claim claNome = new Claim(ClaimTypes.Name, objUser.Name);
Claim claEmail = new Claim(ClaimTypes.Email, email);
Claim cla_id_token = new Claim("_id_token", _id_token.ToString());
Claim claNameIdentifier = new Claim(ClaimTypes.NameIdentifier, objUser.Login);
IList Claims = new List() {
claNome,
claEmail,
claNameIdentifier,
cla_id_token
};
foreach (var perfil in objUser.Perfis)
{
Claims.Add(new Claim(ClaimTypes.Role, perfil.Nome));
}
await HttpContext.ChallengeAsync();
await HttpContext.SignInAsync(new ClaimsPrincipal(new ClaimsIdentity(Claims, CookieAuthenticationDefaults.AuthenticationScheme)), new AuthenticationProperties() { IsPersistent = true });
Подробнее здесь: https://stackoverflow.com/questions/787 ... le-at-time