В ASP. NET Core, возможно ли использовать перечисление в Авторизации в качестве политики RequireRole? - PullRequest
1 голос
/ 03 марта 2020

В ASP. NET Базовая авторизация. Я хочу использовать это перечисление:

public enum MemberRules
{
    Admin= 0,
    User = 1
}

В политике, но у меня проблема с типизацией или что-то в этом роде:

services.AddAuthorization(options =>
    {
      options.AddPolicy(MemberRules.Admin, policy => policy.RequireRole(MemberRules.Admin));
      options.AddPolicy(MemberRules.User , policy => policy.RequireRole(MemberRules.User ));
    });

Как разыграть мой enum, чтобы использовать его как RequireRole?

1 Ответ

0 голосов
/ 04 марта 2020

Используйте перечисление, как показано ниже:

 services.AddAuthorization(options =>
 {
       options.AddPolicy("Admin", policy => policy.RequireRole(MemberRules.Admin.ToString()));
       options.AddPolicy("User", policy => policy.RequireRole(MemberRules.User.ToString()));
 });

Затем используйте [Authorize] для действия или контроллера

 [Authorize(Policy ="Admin")]
 public IActionResult GetData()
...