ASPNetCore6MinimalAPIs中是否可以使用自定义RequireAuthorization和AllowAnonymous来进行自定义中间件身份验证?
创始人
2024-09-20 08:00:56
0

是的,ASP.Net Core 6允许我们定义自定义Authentication管道。 在Minimal API中,我们可以使用以下代码实现:

  1. 定义自定义中间件来实现身份验证

public static class AuthenticationMiddlewareExtensions { public static IApplicationBuilder UseAuthentication(this IApplicationBuilder app, string policyName = null) { return app.Use(async (context, next) => { if (context.Request.Headers.TryGetValue("Authorization", out var authHeader)) { var authHeaderValue = authHeader.FirstOrDefault(); //Authenticate the user here //If authenticated, add claims to the context user } else { context.Response.StatusCode = 401; await context.Response.WriteAsync("Unauthorized"); return; }

        await next();
    });
}

}

  1. 在Minimal API中使用自定义身份验证中间件

var builder = WebApplication.CreateBuilder();

builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen();

builder.Services.AddAuthorization(options => { options.AddPolicy("MyCustomPolicy", policy => { policy.RequireAuthenticatedUser(); }); });

var app = builder.Build();

app.UseAuthentication();

app.MapGet("/hello", () => "Hello, World!") .RequireAuthorization("MyCustomPolicy");

app.Run();

在上面的代码中,我们通过调用UseAuthentication方法将自定义身份验证中间件添加到ASP.NET Core 6 Minimal API中。 我们还在构建器中添加了Authorization服务,并在API管道中的路由中使用RequireAuthorization来指定哪些路由需要身份验证。

相关内容

热门资讯

分享开挂内幕!决战卡五星游戏辅... 分享开挂内幕!决战卡五星游戏辅助器,上饶中至打炸漏洞,详细器(真的有挂)一、决战卡五星游戏辅助器游戏...
实测必看!蜜瓜大厅辅助免费下载... 实测必看!蜜瓜大厅辅助免费下载,德州扑克游戏辅助器,详细攻略(证实有挂)1、每一步都需要思考,不同水...
重大消息!老友广东插件软件,奇... 重大消息!老友广东插件软件,奇迹手游脚本辅助全自动,详细神器(存在有挂)1、点击下载安装,奇迹手游脚...
实测教程!开心泉州小程序辅助免... 实测教程!开心泉州小程序辅助免费下载,菠萝辅助app,详细插件(确实有挂)开心泉州小程序辅助免费下载...
揭秘一下!甘肃白银麻将辅助软件... 揭秘一下!甘肃白银麻将辅助软件,微信卡五星辅助器,详细软件(有挂讲解)1、每一步都需要思考,不同水平...
专业讨论!山西扣点辅助,钱塘十... 专业讨论!山西扣点辅助,钱塘十三水辅助器软件,详细器(了解有挂)1、超多福利:超高返利,海量正版游戏...
我来教教你!天酷辅助器,来趣广... 我来教教你!天酷辅助器,来趣广西友玩辅助,详细app(有挂详细)小薇(辅助器软件下载)致您一封信;亲...
科技揭秘!途游手游辅助,小闲川... 科技揭秘!途游手游辅助,小闲川南手游辅助器,详细挂(有挂秘笈)进入游戏-大厅左侧-新手福利-激活码辅...
实测必看!宝宝浙江辅助,乐逍遥... 实测必看!宝宝浙江辅助,乐逍遥脚本辅助,详细工具(有挂规律)乐逍遥脚本辅助能透视中分为三种模型:乐逍...
科普攻略!微友圈app辅助工具... 科普攻略!微友圈app辅助工具,微信小程序开发辅助,详细脚本(有挂存在)1、进入到微信小程序开发辅助...