Identity Server 4, как отобразить список ролей в приложение MVC - PullRequest
0 голосов
/ 12 апреля 2019

В Identity Server 4 я создаю утверждение роли «Администратор» для пользователя:

userMgr.AddClaimsAsync(user, 
new Claim[]{ new Claim("role", "Admin") })

В клиентском приложении я сопоставляю эту роль, и она отлично работает только для одной роли:

options.Scope.Add(RSIdentityServerConstants.Roles);
options.ClaimActions.MapJsonKey("role", "role", "role");
options.TokenValidationParameters.NameClaimType = "name";
options.TokenValidationParameters.RoleClaimType = "role";

[Authorize(Roles = "Admin")]  => Works fine
public IActionResult Index()
{
  return View();
}

Но мне нужно сопоставить список ролей, но я не знаю, как создать заявку и сопоставить ее с приложением asp net core mvc?

[Authorize(Roles = "Admin, SuperAdmin, Others")]  => How to do ??
public IActionResult Index()
{
  return View();
}

userMgr.AddClaimsAsync(user, 
new Claim[]{ new Claim("role", "Admin, SuperAdmin, Others") })  => this doesn't work

1 Ответ

2 голосов
/ 12 апреля 2019

Просто добавьте Claim в виде массива:

new Claim[]{ new Claim("role", "Admin"), new Claim("role", "SuperAdmin"), ...  }) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...