Activities of "liangshiwei"

I have one more question to ask. I want one tenan to have its own domain, Can you suggesst for me implement solution this? And I also want the way how to implement it both of following solutions: Authentication is not separated module Authentication is a separated module

Please create a new question, thanks.

use <db_name> in mongo db

create tenant in UI angular with format connectionString: mongodb://<user>:<password>@<replicaset_name>/<db_name> I got the error: Cannot create namespace <db_name>.AbpPermissionGrants in multi-document transaction

I will check it.

Hi,

It looks like a problem with the MongoDB driver.

Here is some information that might be useful: https://www.google.com/search?q=WaitForDescriptionChangedHelper+site:www.mongodb.com&sxsrf=AB5stBggHEDVtpC-rhwe1L8woOD-mncgJg:1691032670349&sa=X&ved=2ahUKEwiJqvrMw7-AAxWbHHAKHUEzAcIQrQIoBHoECBMQBQ&biw=1920&bih=857&dpr=2

Hi,

How do I reproduce the problem? Could you provide a new project to reproduce the problem? I will check it out. shiwei.liang@volosoft.com

Can a tenant have multiple tenants in ABP Commercial?

No, ABP does not provide such an infrastructure, you need to implement it yourself.

If not, what solution is the best practice for this use case?

This is a big topic. I can only give you some simple ideas:

Use the extended entity system to add ParentTenantId property to Tenant entity: https://docs.abp.io/en/abp/latest/Customizing-Application-Modules-Extending-Entities

Data isolation between tenants, you can manually close the data filter: https://docs.abp.io/en/abp/latest/Data-Filtering#imultitenant

How can I override the routing path for Auto API Controllers? I mean that all API endpoint in the swagger must be generated with tenant-id by default as follows;

You can try:

[ExposeServices(typeof(IConventionalRouteBuilder))]
public class MyConventionalRouteBuilder : ConventionalRouteBuilder
{
    public MyConventionalRouteBuilder(IOptions<AbpConventionalControllerOptions> options) : base(options)
    {
    }

    protected override string NormalizeControllerNameCase(string controllerName, ConventionalControllerSetting? configuration)
    {
        var name = base.NormalizeControllerNameCase(controllerName, configuration);

        return name += "/{tenant-id}";
    }
}

[ExposeServices(typeof(IAbpServiceConvention))]
public class MyAppServiceConvention : AbpServiceConvention
{
    public MyAppServiceConvention(IOptions<AbpAspNetCoreMvcOptions> options, IConventionalRouteBuilder conventionalRouteBuilder) : base(options, conventionalRouteBuilder)
    {
    }

    protected override void ConfigureSelector(ControllerModel controller, ConventionalControllerSetting? configuration)
    {
        RemoveEmptySelectors(controller.Selectors);

        var controllerType = controller.ControllerType.AsType();
        var remoteServiceAtt = ReflectionHelper.GetSingleAttributeOrDefault<RemoteServiceAttribute>(controllerType.GetTypeInfo());
        if (remoteServiceAtt != null && !remoteServiceAtt.IsEnabledFor(controllerType))
        {
            return;
        }

        if (controller.Selectors.Any(selector => selector.AttributeRouteModel != null))
        {
            foreach (var selector in controller.Selectors)
            {
                if (selector.AttributeRouteModel != null)
                {
                    selector.AttributeRouteModel.Template += "/{tenant-id}";
                }
            }
            return;
        }

        var rootPath = GetRootPathOrDefault(controller.ControllerType.AsType());

        foreach (var action in controller.Actions)
        {
            ConfigureSelector(rootPath, controller.ControllerName, action, configuration);
        }
    }
}

You need also to create a custom tenant resolver to get the resolve from route:

https://docs.abp.io/en/abp/latest/Multi-Tenancy#custom-tenant-resolvers

Hi,

ABP has a lot of unit test code, you can refer to:

https://github.com/abpframework/abp/tree/dev/framework/test https://github.com/abpframework/abp/tree/dev/modules/cms-kit/test

Hi,

Yes, this is a public endpoint, but it is safe. If the user is not logged in, there will be no sensitive information.

Hi,

Could you share the full error logs? thanks.

Also: https://docs.abp.io/en/abp/latest/Migration-Guides/Abp-7_3

Hi,

You can try to replace all 7.2.3 with the 7.3.1 version:

And Upgrade the Lepton ThemeX package version to 2.3.*-*

Showing 3591 to 3600 of 6693 entries
Learn More, Pay Less
33% OFF
All Trainings!
Get Your Deal
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.1.0-preview. Updated on December 17, 2025, 07:08
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.