Activities of "maliming"

hi

It would be easiest if you could add domain keywords or if it supported subdomains.

https://abp.io/ https://nuget.abp.io/ https://account.abp.io/

Thanks.

hi

You can add all abp.io and its subdomains.

Thanks.

hi

Can you build the project using the dotnet build command?

I think this is related to the VS version. maybe you can upgrade vs to latest version

Related to https://github.com/riok/mapperly/issues/2134

Thanks.

Hi,

The username field in the "Login with this tenant" modal is editable by design. It defaults to admin (configured via AbpAccountOptions.TenantAdminUserName), but any host user with the Saas.Tenants.Impersonation permission can change it to any tenant username. The TenantAdminUserName option only controls the default pre-filled value, not a restriction.

If you want to restrict which tenant users can be impersonated based on the current host user's role, you need to add server-side validation logic. Here's what you should override depending on your setup:

For Tiered / Auth Server Separated Solutions (OpenIddict)

Create a custom class that inherits from ImpersonationExtensionGrant and override the ImpersonateTenantAsync method:

public class MyImpersonationExtensionGrant : ImpersonationExtensionGrant
{
    protected override async Task<IActionResult> ImpersonateTenantAsync(
        ExtensionGrantContext context,
        ClaimsPrincipal principal,
        Guid tenantId,
        string tenantUserName)
    {
        // Add your custom validation logic here.
        // For example, check the current user's role and restrict target username accordingly:
        //
        // var currentUserRoles = principal.FindAll(ClaimTypes.Role).Select(c => c.Value);
        // if (!currentUserRoles.Contains("admin") && tenantUserName == "admin")
        // {
        //     // Return forbidden or force a different username
        // }

        return await base.ImpersonateTenantAsync(context, principal, tenantId, tenantUserName);
    }
}

Then register it in your AuthServer project's module class by replacing the grant in AbpOpenIddictExtensionGrantsOptions:

public override void ConfigureServices(ServiceConfigurationContext context)
{
    Configure<AbpOpenIddictExtensionGrantsOptions>(options =>
    {
        options.Grants[ImpersonationExtensionGrant.ExtensionGrantName] = new MyImpersonationExtensionGrant();
    });
}

Note: ImpersonationExtensionGrant is not registered via dependency injection. It is instantiated directly and stored in the AbpOpenIddictExtensionGrantsOptions.Grants dictionary, so you must replace it through Options configuration as shown above.

For Non-Tiered Solutions (MVC/Blazor without separate Auth Server)

Override the OnPostAsync method in ImpersonateTenantModel:

[ExposeServices(typeof(ImpersonateTenantModel))]
public class MyImpersonateTenantModel : ImpersonateTenantModel
{
    public MyImpersonateTenantModel(
        IPermissionChecker permissionChecker,
        ICurrentPrincipalAccessor currentPrincipalAccessor)
        : base(permissionChecker, currentPrincipalAccessor)
    {
    }

    public override async Task<IActionResult> OnPostAsync()
    {
        // Add your custom validation logic here before calling base.

        return await base.OnPostAsync();
    }
}

This class is located in the Volo.Abp.Account.Pro.Public.Web package.

Since you mentioned you're using a tiered solution, you should focus on the first approach — replacing ImpersonationExtensionGrant in your AuthServer project. The validation logic runs on the server side, so even if the user modifies the username in the UI, your restriction will still be enforced.

Answer

hi

Please apply the following temporary workaround:

Step 1 — Download the fixed proxy JSON file

Download the file from: https://limewire.com/d/WDygb#YCBWeHTvIo

Step 2 — Place the file in your project

Copy the downloaded cms-kit-pro-common-generate-proxy.json into your *.HttpApi.Client project under the ClientProxies folder:

YourProject.HttpApi.Client/
└── ClientProxies/
    └── cms-kit-pro-common-generate-proxy.json

Step 3 — Ensure the file is embedded as a resource

Open your *.HttpApi.Client.csproj and make sure the following item group exists (add it if missing):

<ItemGroup>
    <EmbeddedResource Include="**\*generate-proxy.json" />
    <Content Remove="**\*generate-proxy.json" />
</ItemGroup>

Step 4 — Register the virtual file set override

Open your *HttpApiClientModule.cs and add the following inside ConfigureServices:

// Temporary workaround: override cms-kit-pro-common-generate-proxy.json embedded in the NuGet package.
// Remove this block once the fix is shipped in a new NuGet release.
Configure<AbpVirtualFileSystemOptions>(options =>
{
    options.FileSets.AddEmbedded<YourProjectHttpApiClientModule>("YourCompanyName.YourProjectName");
});

Replace YourProjectHttpApiClientModule with your actual module class name, and "YourCompanyName.YourProjectName" with your actual root namespace (the <RootNamespace> value in your .csproj).

Step 5 — Rebuild and run

Rebuild the solution and run the application. The FAQ widget should now work correctly.

You can revert all of these changes once you upgrade to the version that includes the fix.

hi

https://github.com/maliming/source/invitations

hi

The EF Core provider for MySQL does not yet fully support .NET 10. We are currently waiting for them to add support.

see https://github.com/abpframework/abp/issues/24213

Thanks.

great.

Thank you for the update.

To help narrow down whether this is an ABP Studio application issue or a .NET runtime networking issue on your machine, could you please run the following command in PowerShell?

[System.Net.Http.HttpClient]::new().GetStringAsync('https://account.abp.io/.well-known/openid-configuration').Result

Or

try {
    $handler = [System.Net.Http.HttpClientHandler]::new()
    $client = [System.Net.Http.HttpClient]::new($handler)
    $client.Timeout = [TimeSpan]::FromSeconds(30)
    
    Write-Host "=== .NET Runtime: $([System.Runtime.InteropServices.RuntimeInformation]::FrameworkDescription)"
    Write-Host "=== OS: $([System.Runtime.InteropServices.RuntimeInformation]::OSDescription)"
    Write-Host ""
    Write-Host "Requesting https://account.abp.io/.well-known/openid-configuration ..."
    
    $result = $client.GetStringAsync('https://account.abp.io/.well-known/openid-configuration').Result
    
    Write-Host "SUCCESS - Response length: $($result.Length) characters" -ForegroundColor Green
    Write-Host $result.Substring(0, [Math]::Min(200, $result.Length))
} catch {
    Write-Host "FAILED" -ForegroundColor Red
    Write-Host ""
    Write-Host "=== Exception Type: $($_.Exception.GetType().FullName)"
    Write-Host "=== Message: $($_.Exception.Message)"
    
    $inner = $_.Exception.InnerException
    $depth = 1
    while ($inner -ne $null) {
        Write-Host ""
        Write-Host "=== InnerException ($depth): $($inner.GetType().FullName)"
        Write-Host "=== Message: $($inner.Message)"
        if ($inner -is [System.Net.Sockets.SocketException]) {
            Write-Host "=== SocketErrorCode: $($inner.SocketErrorCode)"
            Write-Host "=== NativeErrorCode: $($inner.NativeErrorCode)"
        }
        $inner = $inner.InnerException
        $depth++
    }
} finally {
    if ($client) { $client.Dispose() }
}
  • If this command also fails with the same error, it means the issue is with the .NET networking stack on your machine, not ABP Studio itself.
  • If this command succeeds and returns the JSON content, then we can investigate further on the application side.

Please share the result so we can determine the next steps.

Thanks.

hi

Based on the logs you shared, there is no direct error related to account.abp.io connection failure. The login-related entry only shows Login cancelled by user, which means the login process was interrupted before it could complete.

Since you can open https://account.abp.io/.well-known/openid-configuration in your browser without any problem, the issue is likely specific to how the .NET application (ABP Studio) makes network requests, rather than a DNS resolution problem.

Here are a few things you can try:

  1. Check if any antivirus or security software is blocking ABP Studio's network access. Try temporarily disabling it and then attempt to login again.

  2. Check Windows Firewall rules to ensure ABP Studio is not being blocked from making outbound connections.

  3. Try resetting the network configuration by running the following commands in an Administrator Command Prompt, then restart your computer:

netsh winsock reset
netsh int ip reset
ipconfig /flushdns

Additionally, from your logs, I noticed another issue: your machine is missing .NET 9.0 runtime. You only have .NET 7.0.20 and .NET 10.0.0-rc.1 installed.

https://dotnet.microsoft.com/en-us/download


BTW, is your Studio the latest version?

Thanks.

Showing 781 to 790 of 12919 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.8.0-preview. Updated on November 02, 2026, 06:56
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.