Activities of "EngincanV"

Hi, Thanks for the reply! This solution only works when a user correctly signs out of the application, which is a partial answer to my question. Is there no way to do the same also when a user closes the browser window or leaves the application website?

Hi, there is not an event for that purpose on the OpenIddict side. You may consider using SignalR, and when the user disconnects, apply your logic. (however, sometimes signalr connection terminates because of numerous reasons, so you should check it accordingly)

Regards.

i mean:
Situation 1: AppService1 gets data from my Entity with eaual filter type (set in DbContext Filter for OU) for current user's Organization Unit.
Situation 2: AppService2 gets data from my Entity with contains filter type for List of user's Organization Unit and its hierarchy units.

Hi, if I understood you correctly, for the first situation you want to apply the data filter and for the second one, you don't want to apply the data-filter and only query according to input filters. The first thing came to my mind is disabling data-filter according to a bool parameter value.

Assume that you have a repository interface as below:

public interface IMyRepository : IRepository<TEntity>
{
    Task<List<TEntity>> GetAllAsync(/* other params... */, bool ignoreOUFilters = false);
}

In the repository implementation you can do something like:


public async Task<List<TEntity>> GetAllAsync(/* other params... */, bool ignoreOUFilters = false)
{
    if(ignoreOUFilters)
    {
        using(DataFilter.Disable<IHasOrganization>())
        {
            return await GetAllInternalAsync(/* other args... */, ignoreOUFilters);
        }
    }
    
    return await GetAllInternalAsync(/* other args... */, ignoreOUFilters);
}

private async Task<List<TEntity>> GetAllInternalAsync(/* other params... */, bool ignoreOUFilters = false)
{
    //your query logic
}

Then, calling the repository method, pass if you want to allow has-organization data-filter or not.

Regards.

Instead of reading rsms.me, how about changing the method so that ABP downloads rsms.me?

This is exactly what it should be. We are testing the situation and considering using the related CSS as a static file. @sumeyye.kurtulus working on that.

Regards.

Hi, to add more than 10 custom-code placeholders, you should edit templates and add the relevant placeholder for the related templates. Here are the documents that you can check to see how to do that:

  • https://abp.io/docs/latest/suite/customizing-the-generated-code#adding-new-custom-hook-points-changing-their-places-1
  • https://abp.io/docs/latest/suite/editing-templates

I quoted the documentation you linked me.... adding more hook points does nothing. They are ignored.

We will test this and write back to you as soon as possible.

I wanted to let you know that embedding the resources in the project file has solved the issue. Thanks so much for your time and assistance in troubleshooting this—it’s greatly appreciated!

Thank you 🙏

Hi

Just following up on this ticket.

Thanks

Hi, I will test it and try to write you back asap.

Hi, we are currently testing according to your steps and let you know asap.

Best regards.

Hi, this is the expected behavior (https://abp.io/docs/latest/modules/account-pro#social-account-security-setting):

Users who register via both local registration and external/social login using the same email address will be required to enter their local password on the first external/social login.

You can disable this option if you want.

Hi, you need to create a custom event handler for that purpose. Please apply the following steps:

  1. Create a custom event handler as follows (doc: https://kevinchalet.com/2018/07/02/implementing-advanced-scenarios-using-the-new-openiddict-rc3-events-model/):
using System.Threading.Tasks;
using OpenIddict.Server;

namespace MySolution;

public class SignOutEventHandler : IOpenIddictServerHandler<OpenIddictServerEvents.ProcessSignOutContext>
{
    public static OpenIddictServerHandlerDescriptor Descriptor { get; }
        = OpenIddictServerHandlerDescriptor.CreateBuilder<OpenIddictServerEvents.ProcessSignOutContext>()
            .UseSingletonHandler<SignOutEventHandler>()
            .SetOrder(100_000)
            .SetType(OpenIddictServerHandlerType.Custom)
            .Build();
    
    public ValueTask HandleAsync(OpenIddictServerEvents.ProcessSignOutContext context)
    {
        //your logic...
        
        return ValueTask.CompletedTask;
    }
}
  1. Then register the event handler in the module class:

public class MySolutionHttpApiHostModule : AbpModule
{
    public override void PreConfigureServices(ServiceConfigurationContext context)
    {
        //...
        
        PreConfigure<OpenIddictServerBuilder>(serverBuilder =>
        {
            serverBuilder.AddEventHandler(SignOutEventHandler.Descriptor);
        });
        
        //...
    }
}
  1. After these steps, your SignOutEventHandler class's HandleAsync method trigger after every signout request.

Hi again, I have checked your project and found the problem. Everything you did was correct and necessary, however, it seems you missed setting the related localization files as EmbeddedResource. This is required for the production environment.

You should add the following lines to the *.Domain.Shared.csproj file, and then it should work as expected:


  <ItemGroup>
    <EmbeddedResource Include="Localization\ManasotaErp\*.json" />
    <Content Remove="Localization\ManasotaErp\*.json" />
  </ItemGroup>

  <ItemGroup>
    <EmbeddedResource Include="Localization\AbpIdentity\*.json" />
    <Content Remove="Localization\AbpAccount\*.json" />
  </ItemGroup>

Best regards.

Showing 581 to 590 of 1381 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.2.0-preview. Updated on February 17, 2026, 09:10
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.