From cadfda4a08b752b9e0c02e4ebb93df20e0af9e2a Mon Sep 17 00:00:00 2001 From: Hanpaopao <510423039@qq.com> Date: Wed, 18 Dec 2024 19:34:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=B0=83=E6=95=B4TenantResolvers?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbpProSharedHostingMicroserviceModule.cs | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/aspnet-core/shared/Lion.AbpPro.Shared.Hosting.Microservices/Lion/AbpPro/AbpProSharedHostingMicroserviceModule.cs b/aspnet-core/shared/Lion.AbpPro.Shared.Hosting.Microservices/Lion/AbpPro/AbpProSharedHostingMicroserviceModule.cs index 2afe702e..87887ec8 100644 --- a/aspnet-core/shared/Lion.AbpPro.Shared.Hosting.Microservices/Lion/AbpPro/AbpProSharedHostingMicroserviceModule.cs +++ b/aspnet-core/shared/Lion.AbpPro.Shared.Hosting.Microservices/Lion/AbpPro/AbpProSharedHostingMicroserviceModule.cs @@ -1,6 +1,8 @@ using Microsoft.AspNetCore.DataProtection; using StackExchange.Redis; +using Volo.Abp.AspNetCore.MultiTenancy; using Volo.Abp.Caching; +using Volo.Abp.MultiTenancy; using Volo.Abp.Settings; namespace Lion.AbpPro; @@ -23,6 +25,7 @@ public class AbpProSharedHostingMicroserviceModule : AbpModule ConfigureConsul(context, configuration); ConfigAntiForgery(); ConfigureAbpExceptions(context); + ConfigureTenantResolvers(); } /// @@ -75,11 +78,11 @@ public class AbpProSharedHostingMicroserviceModule : AbpModule .Select(o => o.RemovePostFix("/")) .ToArray() ) - .WithAbpExposedHeaders() + //.WithAbpExposedHeaders() .SetIsOriginAllowedToAllowWildcardSubdomains() .AllowAnyHeader() .AllowAnyMethod() - .AllowCredentials() + //.AllowCredentials() // https://www.cnblogs.com/JulianHuang/p/14225515.html // https://learn.microsoft.com/zh-cn/aspnet/core/security/cors?view=aspnetcore-7.0 .SetPreflightMaxAge((TimeSpan.FromHours(24))); @@ -118,4 +121,20 @@ public class AbpProSharedHostingMicroserviceModule : AbpModule // context.Services.AddHealthChecks().AddRedis(redisConnectionString).AddMySql(connectString); context.Services.AddHealthChecks(); } + + /// + /// 配置租户解析 + /// + private void ConfigureTenantResolvers() + { + Configure(options => + { + options.TenantResolvers.Clear(); + // 只保留通过请求头解析租户 + // options.TenantResolvers.Add(new QueryStringTenantResolveContributor()); + // options.TenantResolvers.Add(new RouteTenantResolveContributor()); + options.TenantResolvers.Add(new HeaderTenantResolveContributor()); + // options.TenantResolvers.Add(new CookieTenantResolveContributor()); + }); + } } \ No newline at end of file