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; // 这里会获取到真正的已认证用户

相关内容

热门资讯

透视策略!来玩app破解(透视... 透视策略!来玩app破解(透视)pokermaster修改器(辅助)其实真的有app(哔哩哔哩)一、...
透视妙计!pokernow辅助... 您好,pokernow辅助控制这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302...
透视方案!hh poker插件... 透视方案!hh poker插件下载(HHpoker开挂)一贯真的有辅助app(哔哩哔哩)1、让任何用...
透视方式!竞技联盟辅助(透视)... 透视方式!竞技联盟辅助(透视)红龙poker辅助器免费观看(辅助)一贯是真的有攻略(哔哩哔哩)1、许...
透视要领!aapoker安装包... 透视要领!aapoker安装包怎么使用(德普之星下载)好像是真的有辅助软件(哔哩哔哩)aapoker...
透视要领!wepoker有没有... 透视要领!wepoker有没有辅助(AApoker下载)原来真的有辅助软件(哔哩哔哩)1、进入游戏-...
透视模块!aapoker透视方... 透视模块!aapoker透视方法(AApoker设置)果然有辅助神器(哔哩哔哩)1、下载好aapok...
透视法门!德州局脚本(德普之星... 透视法门!德州局脚本(德普之星私人局)好像真的是有辅助技巧(哔哩哔哩)1、完成德州局脚本有辅助插件,...
透视方针!智星菠萝透视(透视)... 透视方针!智星菠萝透视(透视)拱趴大菠萝怎么开挂(辅助)总是是真的有脚本(哔哩哔哩)透视方针!智星菠...
透视诀窍!佛手大菠萝有挂吗(透... 透视诀窍!佛手大菠萝有挂吗(透视)poker master辅助(辅助)好像是有软件(哔哩哔哩)1、进...