ASP.NETCore的HttpContext中User为null,但用户已经验证成功
创始人
2024-09-17 20:00:25
0

在ASP.NET Core应用程序中,如果想要使用HttpContext.User来获取已经验证过的用户信息,需要加入认证中间件,并且在ConfigureServices方法中进行配置。例如,使用JWT Token验证身份,需要添加以下代码:

services.AddAuthentication(options => {
    options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
    options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options => {
    options.TokenValidationParameters = new TokenValidationParameters {
        ValidateIssuer = true,
        ValidateAudience = true,
        ValidateLifetime = true,
        ValidateIssuerSigningKey = true,
        ValidIssuer = Configuration["Jwt:Issuer"],
        ValidAudience = Configuration["Jwt:Issuer"],
        IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["Jwt:Key"]))
    };
});

另外,还需要使用UseAuthentication中间件来验证请求,例如:

app.UseAuthentication();

如果仍然发现HttpContext.User为null,可以检查一下当前请求是否在后面的中间件中被修改了HttpContext。需要在验证之前保存HttpContext,例如:

var context = httpContextAccessor.HttpContext;
var isAuthenticated = context.User.Identity.IsAuthenticated; // 这里会获取到真正的已认证用户

相关内容

热门资讯

避坑细节!pokemmo脚本辅... 避坑细节!pokemmo脚本辅助器下载,智星菠萝有挂吗,果然真的有挂(有挂秘笈)1、每一步都需要思考...
2026版方法!德普之星私人局... 2026版方法!德普之星私人局透视,德扑之心免费透视,切实确实有挂(有挂透视)1、让任何用户在无需德...
一分钟教会你!wepoker正... 一分钟教会你!wepoker正确养号方法,hhpoker是真的假的,竟然是真的有挂(新版有挂)1、下...
2026版方法!wepoker... 2026版方法!wepoker究竟有没有透视,德普辅助软件,都是真的是有挂(有挂规律)1、打开软件启...
教程辅助!wepoker怎么买... 教程辅助!wepoker怎么买辅助,wepokerh5破解,确实有挂(存在有挂)1、起透看视 辅助软...
近日!wepoker分析,智星... 近日!wepoker分析,智星德州有脚本吗,果然确实有挂(真是有挂)亲,关键说明,智星德州有脚本吗透...
分享实测!wepoker辅助器... 分享实测!wepoker辅助器软件下载,wepokerplus外挂,切实是有挂(有挂讲解)1、每一步...
出乎意料的是!hhpoker可... 出乎意料的是!hhpoker可以控制吗,德普之星透视辅助软件下载,确实确实有挂(有挂方式)德普之星透...
记者揭秘!wepoker破解器... 记者揭秘!wepoker破解器激活码,hhpoker真的有透视吗,竟然有挂(有挂功能)1. 选牌创建...
连日来!hhpoker德州有挂... 连日来!hhpoker德州有挂吗,德扑之星透视辅助插件,一直是有挂(发现有挂)在进入德扑之星透视辅助...