Activities of "kkmy"

Hello,

Our project underwent a penetration test. In the test result, it is suggested that our project needs to stop responding for tokens without an encryption algorithm. Which means that, it should not allow access for the tokens that have "alg": "none" in their headers.

How can we implement this in our project? Will it break anything related to ABP framework, authentication, authorization etc.?

Thanks!

Hello,

Is it possible to declare some enums to be skipped when generating proxies? That is, I do not want to create frontend proxies for them when I type "generate-proxy".

Thanks.

Hello,

I have a join query like this:

var result = await
(
    from car in await _carRepository.GetQueryableAsync()
    join iu in await _identityUserRepository.GetQueryableAsync() on car.CreatorId equals iu.Id
    where car.Code == "CAR-1"
    select new CarDto
    {
        Id = car.Id,
        Code = car.Code,
        CreatedAt = car.CreationTime,
        CreatedBy = iu.Name
    }
).FirstOrDefaultAsync();

However, this does not work since IdentityUserRepository does not have a GetQueryableAsync() method. What should be the approach here if I want to get the creator name in a join query?

Thanks.

Hello,

I have a big zip file in the server (5GB). I am trying to send the file to the front end so that the user can download it.

return new RemoteStreamContent(zipFileStream, zipFileName, FileTypes.Zip.ContentType);

This approach works for moderate files, however gives an error for big files.

2025-05-22 12:07:54.247 +03:00 [ERR] Stream was too long.
System.IO.IOException: Stream was too long.
   at System.IO.MemoryStream.WriteAsync(ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
--- End of stack trace from previous location ---
   at System.IO.Stream.<CopyToAsync>g__Core|27_0(Stream source, Stream destination, Int32 bufferSize, CancellationToken cancellationToken)
   at System.IO.Strategies.BufferedFileStreamStrategy.CopyToAsyncCore(Stream destination, Int32 bufferSize, CancellationToken cancellationToken)
   at Volo.Abp.AspNetCore.Mvc.ContentFormatters.RemoteStreamContentOutputFormatter.WriteResponseBodyAsync(OutputFormatterWriteContext context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResultFilterAsync>g__Awaited|30_0[TFilter,TFilterAsync](ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeResultFilters>g__Awaited|28_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|7_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Volo.Abp.AspNetCore.Serilog.AbpSerilogMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
   at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.InterfaceMiddlewareBinder.<>c__DisplayClass2_0.<<CreateMiddleware>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Volo.Abp.AspNetCore.Auditing.AbpAuditingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
   at Volo.Abp.AspNetCore.Auditing.AbpAuditingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
   at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.InterfaceMiddlewareBinder.<>c__DisplayClass2_0.<<CreateMiddleware>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at IPS.IPSHttpApiHostModule.<>c.<<OnApplicationInitialization>b__12_0>d.MoveNext() in C:\eld-vm-01-b1\_work\27\s\src\IPS.HttpApi.Host\IPSHttpApiHostModule.cs:line 359
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Volo.Abp.AspNetCore.Security.Claims.AbpDynamicClaimsMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
   at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.InterfaceMiddlewareBinder.<>c__DisplayClass2_0.<<CreateMiddleware>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Volo.Abp.AspNetCore.Uow.AbpUnitOfWorkMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
   at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.InterfaceMiddlewareBinder.<>c__DisplayClass2_0.<<CreateMiddleware>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Volo.Abp.AspNetCore.ExceptionHandling.AbpExceptionHandlingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)

What should be the approach for big files?

Thank you.

  • Exception message and full stack trace:
  • Steps to reproduce the issue:

Hello,

With the version 8.2.0, you have provided the feature of changing the behavior for the concurrent login ("Disabled", "Logout from same type devices" and "Logout from all devices"). However, this option can be changed by each tenant admin under the settings menu.

How can I set the behavior for all the tenants as superadmin (admin without a tenant) and make sure that tenant admins cannot change it in any case?

Thank you.

  • ABP Framework version: v8.2.0
  • UI Type: Angular
  • Database System: EF Core (PostgreSQL)
  • ABP Framework version: v8.1.3
  • UI Type: Angular v17.3.9

Hello,

The page search functionality is not properly working (Win: Ctrl + F, Mac: Cmd + F). Normally, if the searched text is on the page but not on the displayed area of the browser, clicking the enter key will make the page jump to that particular area. However, this is not the case for ABP. I have tried it with different browsers (Chrome, Edge, Safari, Firefox, Opera) and it happens for all of them.

Steps to reproduce the issue:

  1. Go to https://commercial-demo.abp.io/dashboard.
  2. Press Ctrl + F / Cmd + F at the top of the page.
  3. Search for "Frontend Technologies". There is a box with this title at the end of the page.
  4. Click enter to jump to that area. Observe that it finds the text, but does not jump.

I am attaching a video to clarify the situation better. The difference between the commercial and main pages of the ABP is explicit.

Thank you.

  • ABP Framework version: v8.0.1
  • UI Type: Angular
  • Database System: EF Core (PostgreSQL)

Hello,

After upgrading to v8.0.1, we have observed a crucial bug with datatables. Let's say we have a table that shows 10 rows per page and the table has 15 rows. So it has 2 pages. When we search for a record that comes in the first page using query filters, table shows that row without a problem. However, if we go to the second page and search for that particular record, the datatable does not show that record.

You can observe this behavior in https://commercial-demo.abp.io/language-management/languages as well. Steps to reproduce the issue are:

  1. Go to the Languages page.
  2. There are many languages there. We can use Deutsch for example. As you can see, it is in the first page and in the first row.
  3. Write "de" in the search bar. You can see that the record is shown in the datatable.
  4. Now clear the search bar.
  5. Go to the second page.
  6. Write "de" in the search bar again. Now the record is not shown even though it is there.

I have attached a video sample as well to clarify the situation more.

Thank you.

Showing 1 to 8 of 8 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 October 30, 2025, 06:33