Hi,
ABP abstracts multi-tenancy, you can implement the IMultiTenant
interface for your entity directly.
ABP microservice template has already done the necessary configuration, I think it should be work for you.
Hi,
Is there any document that clarifies how to add multiple ABP applications using the same authentication server?
No such document, but you can check: https://docs.abp.io/en/commercial/latest/startup-templates/microservice/add-microservice
And is there an updated document on how to add the identity server module to the solution, in this document it says: "Identity Server is pre-installed in the startup templates. So, no need to manually install it.", and this is not correct.
Yes, but since 6.0, the template uses openIddict instead of IdentityServer.
The documentation for microservice template, but some content is useful:
You can create a new project with --separate-auth-server
option. (client app)
AuthServer
configuration in the appsettings.json
file of HttpApi.Host
projectoAuthConfig
configuration in the environment.ts
Hi,
Because the pro template use the Saas module instead of Tenant, you can try:
public class CustomTenantRepository : EfCoreRepository<SaasDbContext, Tenant, Guid>, ICustomTenantRepository
{
public CustomTenantRepository(IDbContextProvider<SaasDbContext> dbContextProvider) : base(dbContextProvider)
{
}
public async Task<Tenant> GetTenantByHost(string host, CancellationToken cancellationToken = default)
{
var context = await GetDbContextAsync();
var tenant = context.Tenants.Where(u => EF.Property<string>(u, "Host") == host);
return await tenant.FirstOrDefaultAsync(cancellationToken: cancellationToken);
}
}
Hi,
May I ask, what ABP version are you using?
Hi,
You need to query the data first:
try
{
var ids = records.Where(rec => rec.Id != 0).Select(rec => rec.Id).ToList();
var updateRecords = await _repository..GetListAsync(x => ids.Contains(x.Id));
foreach(var record in updateRecords)
{
ObjectMapper.Map(records.First(rec => rec.Id == record.Id) , record)
}
await _repository.UpdateManyAsync(updateRecords , true);
}
Hi,
You can check the document: https://docs.abp.io/en/abp/latest/Modules/Setting-Management#angular-ui
Hi,
Can you use CLI to create a new project to reproduce it and share it with me? shiwei.liang@volosoft.com I will check it. thanks.
Hi
You can try this:
$(function(){
$("link[rel='icon']").remove();
})
Configure<AbpBundlingOptions>(options =>
{
options.ScriptBundles.Configure(
LeptonXThemeBundles.Scripts.Global,
bundle =>
{
bundle.AddFiles("/global.js");
}
);
});
Hi,
You can try this:
global.js
$(function(){
if($("#lpx-wrapper").length > 0)
{
$("#lpx-wrapper").addClass("hover-trigger")
}
})
Configure<AbpBundlingOptions>(options =>
{
options.ScriptBundles.Configure(
LeptonXThemeBundles.Scripts.Global,
bundle =>
{
bundle.AddFiles("/global.js");
}
);
});
Hi,
You can check this: https://support.abp.io/QA/Questions/817/How-to-delete-current-license-login-session#answer-4cbc8f13-c7f3-84fa-7fc8-39fa2688df13