Starts in:
1 DAY
9 HRS
51 MIN
19 SEC
Starts in:
1 D
9 H
51 M
19 S

Activities of "abhisheksreesaila"

  • ABP Framework version: v8.3.2
  • UI Type: Blazor WASM & Blazor Server (new blazor web app)
  • Database System: EF Core (PostgreSQL)
  • Tiered (for MVC) or Auth Server Separated (for Angular): Yes
  • Exception message and full stack trace:
  • Steps to reproduce the issue:
  • created a new blazor web app solution
  • Want to customize the REGISTER and LOGIN page
    • earlier, I was able to copy over CSHTML files to PAGES / Account folder and override the LoginModel.cs and RegisterModel.cs

Question : **How to do the same customization? in the BLAZOR new web app. **

by upgrading the 8.3x - it introduced a new issue.

My solution is hooked up to the SOURCE code of the account pro solution (which I have not modified)

Any pointers would be appreciated.

to close the loop on this, Release 8.3 fixed the issue.

actually it looks like ABP 8.3 solves the problem. just saw the migration guide. Let me upgrade and report back

I changed the above code slightly since the email property cannot take USER NAME.

private async Task MigrateAndSeedTenantDatabaseAsync(Guid tenantId, string userName, string password)
        {
            using (_currentTenant.Change(tenantId))
            {
                await _dbSchemaMigrator.MigrateAsync();
                   await _dataSeeder.SeedAsync(new DataSeedContext(tenantId)
                    .WithProperty("AdminUserName",
                        userName)
                    .WithProperty(IdentityDataSeedContributor.AdminPasswordPropertyName,
                        password)
                );
            }
        }

it made it worse. It defaulted everything.

  • ABP Framework version: v8.2
  • UI Type: Blazor Server
  • Database System: EF Core (PostgreSQL)
  • Tiered (for MVC) or Auth Server Separated (for Angular): Tiered
  • Exception message and full stack trace:
  • Steps to reproduce the issue:
  • I have implemented a custom register logic to create tenant (without any permissions). In other words anonymous user can create tenant. (self registration)
  • Each tenant gets a dedicated database
  • A user with ADMIN role gets created. no issues,
    • The user email -> is the email that was used in the REGISTRATION page
    • The user name is defaulted to ADMIN.
    • After digging some code, it always takes the "admin" as the default user name. I want to the default name to be the name passed from REGISTRATION page.

See the code below for CustomRegisterModel How should i modify to set the DEFAULT NAME as** Input.UserName** `

    public override async Task<IActionResult> OnPostAsync()
    {
        try
        {
            var tenantName = $"{Input.UserName}-dedicated-tenant";
            var defaultConnectionString = _configuration.GetConnectionString("Default");

            if (string.IsNullOrEmpty(defaultConnectionString))
            {
                throw new Exception("Default connection string is not configured in app settings.");
            }

            // Create the database for the new tenant
            var tenantConnectionString = CreateTenantSpecificConnectionString(defaultConnectionString, tenantName);
            //await CreateTenantDatabaseAsync(tenantConnectionString, tenantName);

            SaasTenantDto tenant;
            using (var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true))
            {
                var tenantCreateDto = new SaasTenantCreateDto
                {
                    Name = tenantName,
                    AdminEmailAddress = Input.EmailAddress,
                    AdminPassword = Input.Password,
                    ConnectionStrings = new SaasTenantConnectionStringsDto
                    {
                        Default = tenantConnectionString
                    }
                };

                tenant = await _tenantAppService.CreateAsync(tenantCreateDto);

                // Migrate and seed the tenant database
                await MigrateAndSeedTenantDatabaseAsync(tenant.Id);

                await uow.CompleteAsync();
            }
            
                return RedirectToPage("/Login");  // or wherever you want to redirect after successful registration
            
        }
        catch (Exception ex)
        {
            _logger.LogError(ex, "An error occurred during registration");
            
       
            
            // Redirect to the login page
            return RedirectToPage("./Login");
        }
    }

    private string CreateTenantSpecificConnectionString(string defaultConnectionString, string tenantName)
    {
        var builder = new NpgsqlConnectionStringBuilder(defaultConnectionString);
        builder.Database = tenantName;
        return builder.ConnectionString;
    }
    
    private async Task MigrateAndSeedTenantDatabaseAsync(Guid tenantId)
    {
        using (_currentTenant.Change(tenantId))
        {
            await _dbSchemaMigrator.MigrateAsync();
        }
    }
}

`

Showing 11 to 16 of 16 entries
Made with ❤️ on ABP v9.1.0-preview. Updated on November 20, 2024, 13:06