This commit is contained in:
2025-05-12 23:57:05 +08:00
parent 10a344f6d6
commit 4fa451be97
57 changed files with 344 additions and 106 deletions

View File

@@ -8,7 +8,9 @@
public static IServiceCollection RegisterBlogModule(this IServiceCollection services, WebApplicationBuilder builder)
{
var env = builder.Environment;
var configuration = builder.BuildConfiguration();
services.AddConfiguration(configuration);
services.AddRazorPages();
services.AddEndpoints();
services.AddViewEngine(env);
@@ -20,11 +22,9 @@
services.AddMediatR();
services.AddHttpClient();
services.AddConfiguration(builder);
services.AddHttpContextAccessor();
services.AddUserAuthentication();
services.AddAdminAuthentication(configuration);
services.AddAuthorization();
@@ -50,8 +50,7 @@
return services;
}
public static IServiceCollection AddConfiguration(this IServiceCollection services, WebApplicationBuilder builder)
private static IConfiguration BuildConfiguration(this WebApplicationBuilder builder)
{
var basePath = Path.Combine(builder.Environment.ContentRootPath, "files", "config");
@@ -67,6 +66,13 @@
.AddJsonFile($"appsettings.{builder.Environment.EnvironmentName}.json", optional: true)
.Build();
return configuration;
}
public static IServiceCollection AddConfiguration(this IServiceCollection services, IConfiguration configuration)
{
services.Configure<BlogSettings>(configuration);
return services;
@@ -220,10 +226,16 @@
public static IApplicationBuilder MapEndpoints(this WebApplication app)
{
var apiPolicy = new AuthorizationPolicyBuilder()
.AddAuthenticationSchemes(AuthenticationScheme.ApiScheme)
.RequireAuthenticatedUser()
.Build();
var endpoints = app.Services.GetRequiredService<IEnumerable<IEndpoint>>().OrderByDescending(x => x.Priority);
foreach (var route in endpoints)
{
var routeGroup = app.MapGroup($"/{route.Prefix}").WithTags(route.Tags);
var routeGroup = app.MapGroup($"/{route.Prefix}").WithTags(route.Tags).RequireAuthorization();
route.Map(routeGroup);
}