Activities of "imranStem"

I have already added classname in add method.

I have microservice architecture. I have create new setting provider in administration microservice.

Custom Setting Definition Provider

public class CustomSettingDefinitionProvider : SettingDefinitionProvider, ITransientDependency
    {
        public override void Define(ISettingDefinitionContext context)
        {
            context.Add(new SettingDefinition("TotalRank", ""));
        }

    }

Custom Setting Management Provider

 public class CustomSettingManagementProvider : SettingManagementProvider, ITransientDependency
    {
        public override string Name => "W";
        public CustomSettingManagementProvider(ISettingManagementStore store)
        : base(store)
        {
        }
    }

Custom Setting Value Provider

public class CustomSettingValueProvider : SettingValueProvider
    {
        public override string Name => "W";

        public CustomSettingValueProvider(ISettingStore settingStore)
            : base(settingStore)
        {
        }

        public override Task<string> GetOrNullAsync(SettingDefinition setting)
        {
            return SettingStore.GetOrNullAsync(setting.Name, Name, null);
        }

        public override Task<List<SettingValue>> GetAllAsync(SettingDefinition[] settings)
        {
            return SettingStore.GetAllAsync(settings.Select(x => x.Name).ToArray(), Name, null);
        }
    }

I have registered custom setting definition and provider in AdministrationServiceApplicationModule

 Configure<AbpSettingOptions>(options =>
        {
            options.DefinitionProviders.Add<CustomSettingDefinitionProvider>();
        });
        Configure<SettingManagementOptions>(options =>
        {
            options.Providers.Add<CustomSettingManagementProvider>();
        });

I can add the settings by above configuration in database.

Now, I want to read the custom setting in another microservice so I have created custom setting value provider in my another microservice and I registered value provider in app module.

public class CustomSettingValueProvider : SettingValueProvider
    {
        public override string Name => "W";

        public CustomSettingValueProvider(ISettingStore settingStore)
            : base(settingStore)
        {
        }

        public override Task<string> GetOrNullAsync(SettingDefinition setting)
        {
            return SettingStore.GetOrNullAsync(setting.Name, Name, null);
        }

        public override Task<List<SettingValue>> GetAllAsync(SettingDefinition[] settings)
        {
            return SettingStore.GetAllAsync(settings.Select(v => v.Name).ToArray(), Name, null);
        }
    }
 Configure<AbpSettingOptions>(options =>
        {
            options.ValueProviders.Add<CustomSettingValueProvider>();
        });

When I read the custom setting, it giving the null value.

var setting = await _customSettingValueProvider.GetOrNullAsync(new SettingDefinition("TotalRank")) ;

I also check with provider key but it always return null value.

I have already read the setting provider document and its not giving any details for microservice architecture to read the custom setting provider from another application.

  • ABP Framework version: v7.4.2
  • UI Type: Angular
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace:
  • Steps to reproduce the issue:

I have implemented the custom http error handler as below and registered in app module class.

export function handleHttpErrors(injector: Injector, httpError: HttpErrorResponse) {
  const toaster = injector.get(ToasterService);
  if (httpError.status === 403 || httpError.status === 400) {
    toaster.error(httpError.error?.error?.message || 'Error');
    return;
  }
  return throwError(httpError);
}
 providers: [{ provide: HTTP_ERROR_HANDLER, useValue: handleHttpErrors },.............]

The toaster message is displaying but dialog is also appearing.

  • ABP Framework version: v7.4.2
  • UI Type: Angular
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace:
  • Steps to reproduce the issue:

I have azure service handler and I am creating the entity through AppService but I am getting the unauthorize permission issue.

[UnitOfWork]
        public async Task HandleEventAsync(ArticleDownCreationEto articleDownCreationEto)
        {
        await _articleDownsAppService.CreateAsync(articleDownCreationEto);
        }

I am getting below exception:

[integration-service_8e3ac652-7]: [15:59:52 INF] Authorization failed. These requirements were not met: [integration-service_8e3ac652-7]: PermissionRequirement: IntegrationService.ArticleDowns

  • ABP Framework version: v7.4.4
  • UI Type: Angular
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace: [integration-service_8e3ac652-7]: [15:59:52 INF] Authorization failed. These requirements were not met: [integration-service_8e3ac652-7]: PermissionRequirement: IntegrationService.ArticleDowns
  • Steps to reproduce the issue:

I have a Microservice architecture and all microservices has the azure service bus configuration.

I am publishing the event from Microservice 1 and receiving in Microservice 2 and again publishing the event from Microservice 2 and receiving in Microservice 3.

But When I publish the event from Microservice 1, its not aways receiving in Microservice 2. Sometimes its receiving and publishing to Microservice 3.

I have also checked the Service Bus in azure portal and there is no active message once I publish the event from Microservice 1 means the event is subscribe by other subscription but not by Microservice 2. I have written receiving handler in Microservice 2 so only Microservice 2 should subscribe the event from Microservice 1.

Is there any way to specify the subscription name while publishing the data so only that subscriber can receive the event?

Shared ETOs

Publish event from Microservice 1

Receiving handler and publishing event in Microservice 2

Receiving handler in Microservice 3

  • ABP Framework version: v7.4.2
  • UI Type: Angular
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace:
  • Steps to reproduce the issue:

The above links are not helpful, I am using the ABP framework 7.0.1 with microservice template and openIdDict, not identity server. I have updated the securitystamp on each login which should validate and invalidated the previous token.

Any update on this?

I also tried with below code.

  Configure<SecurityStampValidatorOptions>(options =>
        {
            options.ValidationInterval = TimeSpan.FromSeconds(5);
        });
Question

I want to implement the concurrent user login and I checked many articles and found that to update the SecurityStamp to invalidate the previous login. So I want to update the security token when user login into the system

I have written below code and override the token controller.

 [Dependency(ReplaceServices = true)]
    [ExposeServices(typeof(TokenController))]
    public class MyTokenController : TokenController
    {
        protected override async Task<IActionResult> SetSuccessResultAsync(OpenIddictRequest request, IdentityUser user)
        {
            var userManager = LazyServiceProvider.LazyGetRequiredService<IdentityUserManager>();
          await userManager.UpdateSecurityStampAsync(user);
            

            return await base.SetSuccessResultAsync(request, user);
        }
    }

Its updating the securityStamp on each login but token is not invalidated for previous same user login.

  • ABP Framework version: v7.0.1
  • UI Type: Angular
  • Database System: EF Core (SQL Server, Oracle, MySQL, PostgreSQL, etc..)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace:
  • Steps to reproduce the issue:

Yes, Its working fine. Thank You

I need to call some api when user log in into the system, the page is not refreshing so app initializer will not trigger. Is there any event to trigger when user gets login into the system?

  • ABP Framework version: v7.1.0
  • UI Type: Angular
  • Database System: EF Core (SQL Server, Oracle, MySQL, PostgreSQL, etc..)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace:
  • Steps to reproduce the issue:
Showing 1 to 10 of 84 entries
Made with ❤️ on ABP v8.2.0 Updated on February 19, 2024, 12:29