AbpMultiTenancyModule
ABP vNext 原生支持多租户体系,可以让开发人员快速地基于框架开发 SaaS 系统。 ABP vNext 实现 多租户的思路也非常简单,通过一个 TenantId 来分割各个租户的数据,并且在查询的时候使用统一的 全局过滤器(类似于软删除)来筛选数据。
namespace Volo.Abp.MultiTenancy;
[DependsOn(
typeof(AbpDataModule),
typeof(AbpSecurityModule),
typeof(AbpSettingsModule),
typeof(AbpEventBusAbstractionsModule),
typeof(AbpMultiTenancyAbstractionsModule)
)]
public class AbpMultiTenancyModule : AbpModule
{
public override void ConfigureServices(
ServiceConfigurationContext context)
{
context.Services.AddSingleton<ICurrentTenantAccessor>(
AsyncLocalCurrentTenantAccessor.Instance);
var configuration = context.Services.GetConfiguration();
Configure<AbpDefaultTenantStoreOptions>(configuration);
Configure<AbpSettingOptions>(options =>
{
options.ValueProviders.InsertAfter(t => t == typeof(
GlobalSettingValueProvider), typeof(TenantSettingValueProvider));
});
Configure<AbpTenantResolveOptions>(options =>
{
options.TenantResolvers.Insert(0, new
CurrentUserTenantResolveContributor());
});
}
}
👍🎉🎊