Activities of "liangshiwei"

What's the error log?

When I click on generate it is generating the entity in the TenantDbContext instead of generating it in the DbContext.

ABP suite doesn't support generate it in the TenantDbContext

Hi,

You can refer to this: https://github.com/abpframework/abp/blob/dev/framework/test/Volo.Abp.Auditing.Tests/Volo/Abp/Auditing/Auditing_Tests.cs#L368

Hi,

Can you please provide the full steps to reproduce? I will check it. thanks

Hi,

I can share the UI code with you. please provide your email address.

Hi,

They are open source. you can download them here: https://github.com/abpframework/abp/tree/dev/npm/ng-packs/packages

Hi,

ABP suite doesn't support it yet, but we will consider enhancing it in the next version.

Hi,

We have a document for this: https://docs.abp.io/en/abp/latest/AspNet-Boilerplate-Migration-Guide

Do the two frameworks use similar password hashing algorithms, can I just copy users and password data from one system to the other or is that not going to work?

They are both using the ASPNETCore identity, I think there is no problem.

Also, how can I overwrite the Register.cshtml.cs file so that users go directly to Azure AD B2C similar to what I did with Login.cshtml.cs?

Hi,

You can try:

[ExposeServices(typeof(RegisterModel))]
public class MyRegisterModel : RegisterModel
{
    public virtual async Task<IActionResult> OnGetAsync()
    {
        if (IsExternalLogin)
        {
            var externalLoginInfo = await SignInManager.GetExternalLoginInfoAsync();
            if (externalLoginInfo == null)
            {
                Logger.LogWarning("External login info is not available");
                return RedirectToPage("./Login");
            }
            var emailAddress = info.Principal.FindFirstValue(AbpClaimTypes.Email) ?? info.Principal.FindFirstValue(ClaimTypes.Email);
            user = await RegisterExternalUserAsync(externalLoginInfo, emailAddress);
            
            await SignInManager.SignInAsync(user, false);

        }else{
            return await base.OnGetAsync();
        }
    }
    
   public override async Task<IdentityUser> RegisterExternalUserAsync(ExternalLoginInfo externalLoginInfo, string emailAddress)
   {
       await IdentityOptions.SetAsync();

        var user = new IdentityUser(GuidGenerator.Create(), emailAddress, emailAddress, CurrentTenant.Id);

        (await UserManager.CreateAsync(user)).CheckErrors();
        (await UserManager.AddDefaultRolesAsync(user)).CheckErrors();
        user.SetEmailConfirmed(true); // set true to skip email confirmation ste
        
        if (emailAddress == "<admin user email>")
       {
           await UserManager.AddToRoleAsync(user, "admin");// add admin role to admin user
       }

        var userLoginAlreadyExists = user.Logins.Any(x =>
            x.TenantId == user.TenantId &&
            x.LoginProvider == externalLoginInfo.LoginProvider &&
            x.ProviderKey == externalLoginInfo.ProviderKey);

        if (!userLoginAlreadyExists)
        {
            user.AddLogin(new UserLoginInfo(
                    externalLoginInfo.LoginProvider,
                    externalLoginInfo.ProviderKey,
                    externalLoginInfo.ProviderDisplayName
                )
            );

            (await UserManager.UpdateAsync(user)).CheckErrors();
        }

        return user;
   }
}

Hi,

Ok, you want to use the FormsService.HttpApi.Host as an app.

You should add the account module to the project.

You can refer to the public web project to configure the FormsService.HttpApi.Host

Showing 3161 to 3170 of 6693 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 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.