hi
I see the 400 error and all HTTP requests in my Chrome.
Please share the logs.txt of https://dev.approach.cpat.dev
liming.ma@volosoft.com
Thanks.
hi
You need to add this ClaimsPrincipalContributor to AuthServe/Account project
Yes, please share the url, test user and steps.
Thanks
hi
The type of proxy generated by Angular comes from the backend application.
The backend provides what the frontend generates.
You can’t skip them, but you can change the generated Angular code.
Thanks.
hi
Actually, we don't recommend setting independent connection strings for tenants in microservices. However, you can try it and feel free to provide feedback if you encounter any problems.
Thanks.
ok, you can create a new tenant and set all service connection strings.
Thanks.
hi
Try to update XXXSaasServiceModule and SaasServiceDatabaseMigrationEventHandler as below:
Then set connection strings for each microserver in a tenant.
Configure<AbpDbConnectionOptions>(options =>
{
options.Databases.Configure("AdministrationService", database =>
{
database.MappedConnections.Add(AbpPermissionManagementDbProperties.ConnectionStringName);
database.MappedConnections.Add(AbpFeatureManagementDbProperties.ConnectionStringName);
database.MappedConnections.Add(AbpSettingManagementDbProperties.ConnectionStringName);
});
options.Databases.Configure("AuditLoggingService", database =>
{
database.MappedConnections.Add(AbpAuditLoggingDbProperties.ConnectionStringName);
});
options.Databases.Configure("ChatService", database =>
{
database.MappedConnections.Add("ChatService");
});
options.Databases.Configure("GdprService", database =>
{
database.MappedConnections.Add("GdprService");
});
options.Databases.Configure("IdentityService", database =>
{
database.MappedConnections.Add("IdentityService");
});
options.Databases.Configure("FileManagementService", database =>
{
database.MappedConnections.Add("FileManagementService");
});
options.Databases.Configure("LanguageService", database =>
{
database.MappedConnections.Add(LanguageManagementDbProperties.ConnectionStringName);
});
});
using Volo.Abp.EntityFrameworkCore.Migrations;
using Volo.Abp.EventBus.Distributed;
using Volo.Abp.DistributedLocking;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Uow;
using Volo.Abp.Data;
namespace AbpSolution2.SaasService.Data;
public class SaasServiceDatabaseMigrationEventHandler : EfCoreDatabaseMigrationEventHandlerBase<SaasServiceDbContext>
{
private readonly SaasServiceDataSeeder _dataSeeder;
public SaasServiceDatabaseMigrationEventHandler(
ILoggerFactory loggerFactory,
ICurrentTenant currentTenant,
IUnitOfWorkManager unitOfWorkManager,
ITenantStore tenantStore,
IAbpDistributedLock abpDistributedLock,
IDistributedEventBus distributedEventBus,
SaasServiceDataSeeder dataSeeder
) : base(
SaasServiceDbContext.DatabaseName,
currentTenant,
unitOfWorkManager,
tenantStore,
abpDistributedLock,
distributedEventBus,
loggerFactory)
{
_dataSeeder = dataSeeder;
}
public override Task HandleEventAsync(TenantCreatedEto eventData)
{
return Task.CompletedTask;
}
public override Task HandleEventAsync(ApplyDatabaseMigrationsEto eventData)
{
return Task.CompletedTask;
}
public override Task HandleEventAsync(TenantConnectionStringUpdatedEto eventData)
{
return Task.CompletedTask;
}
protected override async Task SeedAsync(Guid? tenantId)
{
await _dataSeeder.SeedAsync(tenantId);
}
}