Activities of "luke"

[13:24:47 DBG] Waiting to acquire the distributed lock for saving external localizations... [13:24:47 INF] Saving external localizations...

My application often hangs on "Saving external localizations.." line in startup and will not accept any http requests.

I can't find which module outputs these lines to the console/logs.

Have you got any idea what could be causing this?

  • ABP Framework version: v9.0.5
  • UI Type: Angular
  • Database System: EF Core, SQL Server,
  • Tiered (for MVC) or Auth Server Separated (for Angular): Yes

Both existing users and new registering users when using SSO are now forced to add a password as of version 9. This seems to be an undocumented breaking change. It also seems to ignore some configuration options (which I believe to be a bug).

This code used in both Login.cshtml.cs and Register.cshtml.cs, which redirects to the change password page only looks at the "EnableLocalLogin" setting.

  1. If I were to disable EnableLocalLogin this I would not be able to have login/registration with a username/password for anyone.
  2. VerifyPasswordDuringExternalLogin setting seems to have no baring on this at all, but the addition of be below code seems to be there to facilitate it.
  3. The only way to prevent this behaviour is to override the entire sections of RegisterModel.OnPostInternal and LoginModel.OnGetExternalLoginCallbackAsync and commenting out the below.
  4. This is a breaking change moving from ABP 8 to 9

This is a fundamental change in the behaviour of the login flow, why would anyone want to enter a password using SSO? It should be configurable.

I've laid this out very clearly as such that I've seen the duplicate closed thread on this matter where the customer was told to override the entire login/reg page. I believe this was not the correct course of action. They also were told that "We have not changed the login/register code recently.", this code was added in version 9.

    if (await SettingProvider.IsTrueAsync(AccountSettingNames.EnableLocalLogin))
    {
        var user = await UserManager.FindByLoginAsync(loginInfo.LoginProvider, loginInfo.ProviderKey);
        if (user != null && user.PasswordHash == null)
        {
            await StoreChangePasswordUser(user);
            return RedirectToPage("./ChangePassword", new {
                returnUrl = ReturnUrl ?? "/",
                returnUrlHash = ReturnUrlHash
            });
        }
    }

I'm currently looking into the best way to fully delete a tenant, including user data, permissions, all the ABP/Identity data.

Are there any built-in methods, or should I be doing this manually?

Working with all tenants in a single database.

  • ABP Framework version: v5.3.3
  • UI type: Blazor
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes

I've created some custom features, it seems that I can edit them at the 'edition' level in the blazor interface, but not at the tenant level. The textbox is disabled.

    public class MailerFeatures : FeatureDefinitionProvider
    {
    public static string GroupName = "Mailer";
    public static string MaxEmail => FeatureName("MaxEmail");

        public override void Define(IFeatureDefinitionContext context)
        {
            var group = context.AddGroup(GroupName);
    
            var maxUsers = group.AddFeature(
                MaxEmail,
                defaultValue: "1",
                valueType: new FreeTextStringValueType(
                    new NumericValueValidator(0, 1000000)), isVisibleToClients: true);
                    
            // Here I tried settings the providers, made no difference.
            //maxUsers.WithProviders(new string[] { TenantFeatureValueProvider.ProviderName, EditionFeatureValueProvider.ProviderName });
    
        }
        
        private static string FeatureName(string name)
        {
            return $"{GroupName}.{name}";
        }
    }

This is the disabled textarea:

Hello,

I've got an app with a contact list where users can bulk insert Contact. They can select to add these contacts to one or many Group, each group having a ContactGroupMember record.

There's a domain event setup on the creation and deletion of ContactGroupMember which increments Group.Members integer property. I also need to add a record to a log of when users are added and removed from groups.

I'm not sure if I should be using domain events for this or not since it will create many requests to the database in a large queue when the users bulk insert. Should I be handling this entirely manually, or is there a way to disable the domain events when bulk importing, or grouping the events into a single event?

Thank you in advance :)

Showing 1 to 5 of 5 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v9.3.0-preview. Updated on June 13, 2025, 11:37