首页 > 其他分享 >net core中使用jwt时,提示DenyAnonymousAuthorizationRequirement: Requires an authenticated user

net core中使用jwt时,提示DenyAnonymousAuthorizationRequirement: Requires an authenticated user

时间:2024-07-20 18:29:37浏览次数:9  
标签:core 顺序 authenticated Requires app jwt GetSection Jwt true

客户端请求是401,控制台提示

info: Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[2]
Authorization failed. These requirements were not met:
DenyAnonymousAuthorizationRequirement: Requires an authenticated user.


翻遍了资料,也查不到原因,快绝望的时候,gpt给了个提示

 原来这个的顺序很重要,以前都不知道,拿过来就用,没考虑过这个,从来没认为这个东西会有顺序,但是确实存在

//这里的顺序是错误的
//这里的顺序是错误的
//这里的顺序是错误的

app.UseRouting(); app.UseAuthorization(); app.UseAuthentication();

 

//这里是正确的
app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); app.Run();

这个是Program.cs中的配置

// 配置 JWT 认证
var key = Encoding.UTF8.GetBytes(AppSettingsHelper.GetSection("Jwt:Jwtkey"));
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(options =>
{
    options.TokenValidationParameters = new TokenValidationParameters
    {
        ValidateIssuer = true,
        ValidateAudience = true,
        ValidateLifetime = true,
        ValidateIssuerSigningKey = true,
        ValidIssuer = AppSettingsHelper.GetSection("Jwt:Issuer"),
        ValidAudience = AppSettingsHelper.GetSection("Jwt:Audience"),
        IssuerSigningKey = new SymmetricSecurityKey(key)
    };
});
builder.Services.AddAuthorization();

 

标签:core,顺序,authenticated,Requires,app,jwt,GetSection,Jwt,true
From: https://www.cnblogs.com/icejd/p/18313556

相关文章

  • ASP.NET Core MVC如何在Filter中获取ControllerName和ActionName,以及在Action方法上声
    在ASP.NETCoreMVC的Filter中,我们可以通过ActionContext对象获取到许多有用的信息,例如下面的代码在IAuthorizationFilter中,获取了ControllerName和ActionName,以及在Action方法上声明的Filter:usingMicrosoft.AspNetCore.Mvc.Controllers;usingMicrosoft.AspNetCore.Mvc.Filte......
  • 将 .NET Framework 应用程序更新到 .NET Core。这是一个 VB.NET Windows 服务
    我有一个用VB.NET编写的有点旧的.NET4.7Windows服务。我想将其升级到.NETCore8.0,但升级向导似乎不想处理大量工作如果.NETCore支持VB.NETWindows服务,我找不到任何真正的内容....我可以找到大量创建控制台应用程序等的C#示例,但没有找到VB.NET的任何内......
  • [rCore学习笔记 016]实现应用程序
    写在前面本随笔是非常菜的菜鸡写的。如有问题请及时提出。可以联系:[email protected]:https://github.com/WindDevil(目前啥也没有设计方法了解了特权级机制,实际上如果要设计一个应用程序就需要保证它符合U模式的要求,不要去访问S模式下的功能,那么其实现要点是:应......
  • Spring Core
    Author:ACatSmilingSince:2024-07-19IoCIoC:InversionofControl,控制反转。是面向对象编程中的一种设计原则/设计思想,旨在降低代码之间的耦合度,提高系统的灵活性和可维护性。其核心思想是通过反转对象的控制权,将对象创建与对象之间的调用过程交给专门的容器进行管理(如Spring......
  • 克隆的TrinityCore服务器网速慢卡顿问题的解决(未解决)
    一台TrinityCore服务器,采用的是备份克隆安装的方式,在FreeBSDbhyve中安装Ubuntu,安装细节见如下两篇文档:尝试在FreeBSD的jail、bhyve里安装TrinityCore-CSDN博客备份和镜像TrinityCore_魔兽世界updatingauthdatabase...dbupdater:thegive-CSDN博客这台服务器的问题就......
  • Cookie、Session、JWT在koa中的应用及实现原理
    Cookie、Session、JWT在koa中的应用及实现原理  目录Cookie重要属性实现原理cookie签名实现原理注意事项Session实现原理JWT使用方式组成实际应用实现原理前端存储方式cookiesessionlocalStoragesessionStoragetoken区别 CookieHTTP......
  • 论如何直接用EF Core实现创建更新时间、用户审计,自动化乐观并发、软删除和树形查询(下)
    前言数据库并发,数据审计和软删除一直是数据持久化方面的经典问题。早些时候,这些工作需要手写复杂的SQL或者通过存储过程和触发器实现。手写复杂SQL对软件可维护性构成了相当大的挑战,随着SQL字数的变多,用到的嵌套和复杂语法增加,可读性和可维护性的难度是几何级暴涨。因此如何在实......
  • FastAPI登录实现(JWT)
    JWT(JSON Web Tokens)一、依赖库安装jwtpipinstalljwt==1.2.0python-jose用于生成和检验JWT令牌pipinstallpython-jose==3.2.0passlib用于处理哈希密码的包支持许多安全哈希算法以及配合算法使用的实用程序推荐的算法是 Bcryptpipinstallpasslib[Bcrypt]==1.7......
  • Entity Framework Core
    我想变成你,见你所见,爱你所爱。--zhuEFCoreORM定义:(ObjectRelationalMapping)让开发者用对象操作的形式操作关系数据库。ORM框架:EFCore,Dapper,sqlSugar,FreeSql等。EFCore与其他ORM比较1、EntityFrameworkCore(EFCore)是微软官方的ORM框架。优点:功能强大、官......
  • 论如何直接用EF Core实现创建更新时间、用户审计,自动化乐观并发、软删除和树形查询(中)
    前言数据库并发,数据审计和软删除一直是数据持久化方面的经典问题。早些时候,这些工作需要手写复杂的SQL或者通过存储过程和触发器实现。手写复杂SQL对软件可维护性构成了相当大的挑战,随着SQL字数的变多,用到的嵌套和复杂语法增加,可读性和可维护性的难度是几何级暴涨。因此如何在实......