Activities of "liangshiwei"

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:

  • https://docs.abp.io/en/commercial/latest/startup-templates/microservice/add-microservice#authserver-configuration

You can create a new project with --separate-auth-server option. (client app)

  • You can safely delete the AuthServer project
  • Update the AuthServer configuration in the appsettings.json file of HttpApi.Host project
  • Update oAuthConfig configuration in the environment.ts
  • Remove modules you don't need

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

Showing 21 to 30 of 2428 entries
Made with ❤️ on ABP v9.1.0-rc.1. Updated on January 17, 2025, 14:13