授权角色/策略属性在.Net Core 3中不起作用

活泼的杰伊

我没有在.Net Core 3中获得任何角色或策略属性的运气。我通过带有身份验证的.Net Core Angular启动程序项目启动了我的项目。我认为这与新的.AddDefault方法有关,因此我已尽可能地简化了它,但仍然无法正常工作。

这是我的政策:

services.AddAuthorization(options =>
{
    options.AddPolicy("IsAdmin", policy =>
        policy.RequireClaim("role", "admin"));
});

这是我的控制器:

[Authorize(Policy = "IsAdmin")]
[Route("api/[controller]")]
public class AdminController : Controller 
{
    ...

我提供了一个自定义配置文件服务,将声明添加到令牌中,

var claims = new List<Claim>();

if (await _userManager.IsInRoleAsync(user, "Admin"))
{
    claims.Add(new Claim(JwtClaimTypes.Role, "admin"));
}

context.IssuedClaims.AddRange(claims);

在我的访问令牌中(来自jwt.io):

在此处输入图片说明

配置服务的其他部分:

services.AddDefaultIdentity<ApplicationUser>()
    .AddRoles<IdentityRole>()
    .AddEntityFrameworkStores<ApplicationDbContext>();

...

services.AddAuthentication()
    .AddIdentityServerJwt();

Plain[Authorize]标记与其他控制器上的访问令牌一起正常工作。

当我用访问令牌击中该控制器时,我得到一个403响应

我错过了什么阻止了它的工作?

负数

我尝试了您的代码,发现role声明密钥已转换为标准的Role ClaimsTypehttp://schemas.microsoft.com/ws/2008/06/identity/claims/role

在此处输入图片说明

因此,使用ClaimTypes.Role将解决问题:

services.AddAuthorization(options => { 
    options.AddPolicy(“ IsAdmin”,policy => 
    { 
        policy.RequireClaim(ClaimTypes.Role,“ admin”); 
    }); 
});

演示版

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自定义授权筛选器在ASP.NET Core 3中不起作用

来自分类Dev

ASP.NET Core 3.1 Web API基于角色的授权不起作用

来自分类Dev

ASP.NET Core 2.1:Razor Pages - 基于角色的授权不起作用

来自分类Dev

在ASP .Net Core 2.2中添加JWT令牌后,授权不起作用

来自分类Dev

ASP.NET Core中的NTLM授权WCF不起作用

来自分类Dev

授权在 ASP.NET Core 2.1 的 Signalr 中不起作用

来自分类Dev

覆盖ASP.NET Core 3中的授权策略

来自分类Dev

如何在ASP.Net Core(WebAPI)中基于HTTP谓词和其他属性声明性地指定授权策略

来自分类Dev

ASP.NET Core MetaDataType属性不起作用

来自分类Dev

自定义AuthenticationHandler在Asp.Net Core 3中不起作用

来自分类Dev

带有JSON参数的HttpPost在ASP.NET Core 3中不起作用

来自分类Dev

为什么环境标记在.NET Core 3中不起作用?

来自分类Dev

Bootstrap Carousel在ASP.NET Core中不起作用

来自分类Dev

数据注释在ASP.NET Core中不起作用

来自分类Dev

JWT承载令牌授权不起作用ASP Net Core Web API

来自分类Dev

SHQueryRecycleBin在.net Core上不起作用

来自分类Dev

ASP.NET MVC 3匿名授权不起作用

来自分类Dev

发行版.Net Core中的绕过授权属性

来自分类Dev

在.NET Core 1.0 MVC中的视图中使用授权策略的任何方式吗?

来自分类Dev

如何在ASP.NET Core MVC 6中为用户保留策略授权结果?

来自分类Dev

在ASP.NET Core授权策略中不带.RequireAuthenticatedUser()使用.RequireRole()是否安全?

来自分类Dev

Net Core 2.1 安装 Entity Framework Core 不起作用?

来自分类Dev

.Where()中的.Contains()EF Core不起作用.NET Core 3.1.8

来自分类Dev

具有身份和ExternalLogin的ASP.NET Core 3.1中基于角色的授权

来自分类Dev

必需属性在ASP.NET MVC中不起作用

来自分类Dev

必需属性在ASP.NET MVC中不起作用

来自分类Dev

ASP.NET Core 3 Web Api发布请求不起作用

来自分类Dev

.NET Core 3-IIS-应用程序初始化不起作用

来自分类Dev

基于Asp.Net Core策略的授权以401 Unauthorized结尾

Related 相关文章

  1. 1

    自定义授权筛选器在ASP.NET Core 3中不起作用

  2. 2

    ASP.NET Core 3.1 Web API基于角色的授权不起作用

  3. 3

    ASP.NET Core 2.1:Razor Pages - 基于角色的授权不起作用

  4. 4

    在ASP .Net Core 2.2中添加JWT令牌后,授权不起作用

  5. 5

    ASP.NET Core中的NTLM授权WCF不起作用

  6. 6

    授权在 ASP.NET Core 2.1 的 Signalr 中不起作用

  7. 7

    覆盖ASP.NET Core 3中的授权策略

  8. 8

    如何在ASP.Net Core(WebAPI)中基于HTTP谓词和其他属性声明性地指定授权策略

  9. 9

    ASP.NET Core MetaDataType属性不起作用

  10. 10

    自定义AuthenticationHandler在Asp.Net Core 3中不起作用

  11. 11

    带有JSON参数的HttpPost在ASP.NET Core 3中不起作用

  12. 12

    为什么环境标记在.NET Core 3中不起作用?

  13. 13

    Bootstrap Carousel在ASP.NET Core中不起作用

  14. 14

    数据注释在ASP.NET Core中不起作用

  15. 15

    JWT承载令牌授权不起作用ASP Net Core Web API

  16. 16

    SHQueryRecycleBin在.net Core上不起作用

  17. 17

    ASP.NET MVC 3匿名授权不起作用

  18. 18

    发行版.Net Core中的绕过授权属性

  19. 19

    在.NET Core 1.0 MVC中的视图中使用授权策略的任何方式吗?

  20. 20

    如何在ASP.NET Core MVC 6中为用户保留策略授权结果?

  21. 21

    在ASP.NET Core授权策略中不带.RequireAuthenticatedUser()使用.RequireRole()是否安全?

  22. 22

    Net Core 2.1 安装 Entity Framework Core 不起作用?

  23. 23

    .Where()中的.Contains()EF Core不起作用.NET Core 3.1.8

  24. 24

    具有身份和ExternalLogin的ASP.NET Core 3.1中基于角色的授权

  25. 25

    必需属性在ASP.NET MVC中不起作用

  26. 26

    必需属性在ASP.NET MVC中不起作用

  27. 27

    ASP.NET Core 3 Web Api发布请求不起作用

  28. 28

    .NET Core 3-IIS-应用程序初始化不起作用

  29. 29

    基于Asp.Net Core策略的授权以401 Unauthorized结尾

热门标签

归档