Как передать несколько ролей в JWT токен?

114
01 июня 2021, 14:00

Разбирал пример для входа по JWT токену https://metanit.com/sharp/aspnet5/23.7.php

В нем как бы можно быть либо администратором либо пользователем. А если у меня в приложении несколько ролей и можно быть одновременно и менеджером и эйчаром одновременно.

Будет ли правильно если я просто продублируют роли из базы:

            var claims = new List<Claim>
            {
                new Claim(ClaimsIdentity.DefaultNameClaimType, person.Login),
                new Claim(ClaimsIdentity.DefaultRoleClaimType, role[0])
                new Claim(ClaimsIdentity.DefaultRoleClaimType, role[1])
                new Claim(ClaimsIdentity.DefaultRoleClaimType, role[2])
            };

Или это неправильно? Очень смущает что автокомплит подсказывает что у ClaimsIdentity могут быть только два варианта (или DefaultNameClaimType или DefaultRoleClaimType) и нет просто RoleClaimType

Это же роль по умолчанию, основаная типа. А как задать просто роль? Сразу несколько обычных ролей?

Полазил по гитхабу, видел что зачем-то фамилию заносят как роль, это верно? https://github.com/mvSapphire/hierarchy-tree/blob/698b8ec3246269d1868c21e52d29f64e195b07b0/SoftServeTestTask/Controllers/AccountController.cs#L93

А вот тут опять только одну роль можно и опять непонятно как правильно https://github.com/matryosha/Sengis/blob/8ce10b70f40853a6c2700371ff5f303e916e08d6/Sengis.WebApi/Infrastructure/ClaimsManager.cs#L11

Подскажите пожалуста а то я себя окончательно запутал

READ ALSO
В чем разница условия?

В чем разница условия?

Несколько раз натыкался на такую штуку, когда определяют условие пишут так

92
Я не могу понять, что идет не так [закрыт]

Я не могу понять, что идет не так [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

91
Как сохранить pdf файл из iframe на сервере?

Как сохранить pdf файл из iframe на сервере?

Веб-приложение ASPNET Core MVC + c#

121
Unity движение персонажа

Unity движение персонажа

Скачал SimpleTouchController, все в нем ок, создаю сцену, помещаю туда объект, вешаю на него этот контроллер и начинается приколы, если джойстик внизу...

91