惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
博客园_首页
T
Tailwind CSS Blog
美团技术团队
博客园 - 叶小钗
Microsoft Security Blog
Microsoft Security Blog
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
Microsoft Azure Blog
Microsoft Azure Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
I
InfoQ
MongoDB | Blog
MongoDB | Blog
The Cloudflare Blog
J
Java Code Geeks
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
Blog — PlanetScale
Blog — PlanetScale
IT之家
IT之家
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Y
Y Combinator Blog

博客园 - 拼博之路

使用FreeSql时,Set JsonMap列时需要注意的事项 近日,网站 CDN 流量受到来自电信[山东烟台]、[江苏扬州]、[湖南岳阳]家庭宽带的攻击 宝塔 nginx 负载均衡配置 vs2022 编译报错System.InvalidOperationException: No file exists for the asset at either location 如何在 Nuxt3 中更改生产环境端口 .Net Core 页面Tag Helpers不提示,颜色也没有变化 在Vue3中,集成VueQuill Rich Text Editor for Vue 3 [Qt] vs 2022写qt解决"常量中有换行符"编译报错问题! MySQL导入SQL文件过大或连接超时的解决办法 windows10 命令行 重置文件夹权限 .Net Core WebAPI 序列化时忽略空值字段 .net mvc中禁用客户端验证 c#8.0+ 运算符 windows11 升级到10.0.22598.200时安装到35%提示硬件尚未准备好 解决 ASP.NET Core 部署到 IIS,更新项目时"文件夹正在使用"错误 浏览器提示:你的连接不是专用连接的解决方法 HttpWebRequest 基础连接已经关闭: 连接被意外关闭 .NET Core应用程序每次启动后使用string.GetHashCode()方法获取到的哈希值(hash)不相同 elasticsearch 按分类ID查询
net core中使用jwt时,提示DenyAnonymousAuthorizationRequire...
拼博之路 · 2024-07-20 · via 博客园 - 拼博之路

客户端请求是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();