在ASP.NET Core中,是否可以在授权中使用枚举作为策略RequireRole?

问题描述 投票:0回答:1

在ASP.NET Core授权中,我想使用此枚举:

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 ));
    });

如何将我的枚举转换为RequireRole?

authentication asp.net-core authorization
1个回答
0
投票

使用如下枚举:

 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()
© www.soinside.com 2019 - 2024. All rights reserved.