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)德普之星怎么...
透视工具!wepoker开脚本... 透视工具!wepoker开脚本视频(透视)wepoker插件辅助(一贯是有透视)-哔哩哔哩1、透视工...
透视攻略!hhpoker可以控... 透视攻略!hhpoker可以控制吗(透视)hhpoker德州透视(切实一直总是有辅助器)-哔哩哔哩1...
透视脚本!德普之星透视(透视)... 透视脚本!德普之星透视(透视)德普之星怎么设置埋牌(一贯真的有辅助器)-哔哩哔哩1、德普之星怎么设置...
透视方法!hhpoker软件可... 透视方法!hhpoker软件可以玩吗(透视)HH平台挂(一贯真的是有脚本)-哔哩哔哩进入游戏-大厅左...
透视技巧!乐乐围棋入门辅助器(... 您好,乐乐围棋入门辅助器这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很多...
透视攻略!wpk免费辅助(透视... 透视攻略!wpk免费辅助(透视)wpk插件(竟然真的有挂)-哔哩哔哩小薇(辅助器软件下载)致您一封信...
透视方法!德州来玩辅助器(透视... 透视方法!德州来玩辅助器(透视)智星德州插件最新版本更新内容详解(一贯真的有透视)-哔哩哔哩在进入智...
透视脚本!德普之星辅助软件(透... 透视脚本!德普之星辅助软件(透视)德普之星私人局透视(竟然真的是有辅助器)-哔哩哔哩1、实时德普之星...
透视神器!hhpoker软件安... 透视神器!hhpoker软件安装包(透视)hhpoker真的假的(其实是有透视)-哔哩哔哩;亲,关键...