在ASP.NET核心,是否可以在Authorization中使用枚举作为策略RequireRole



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

如何强制转换我的枚举以将其用作RequireRole?

使用如下枚举:

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()

最新更新