Open Closed

Saas change password will cause infinite loop when password invalid #4752


User avatar
0
brike.kuo@authme.com created

Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.

If you're creating a bug/problem report, please include followings:

  • ABP Framework version: v7.0.1

  • UI type: Angular

  • DB provider: EF Core

  • Tiered (MVC) or Identity Server Separated (Angular): yes

  • Exception message and stack trace:

    Volo.Abp.Identity.AbpIdentityResultException: Passwords must have at least one non alphanumeric character.
    at Microsoft.AspNetCore.Identity.AbpIdentityResultExtensions.CheckErrors(IdentityResult identityResult)
    at Volo.Abp.Identity.UserPasswordChangeRequestedEventHandler.HandleEventAsync(UserPasswordChangeRequestedEto eventData)
    at Volo.Abp.EventBus.EventHandlerInvoker.InvokeAsync(IEventHandler eventHandler, Object eventData, Type eventType)
    at Volo.Abp.EventBus.EventBusBase.TriggerHandlerAsync(IEventHandlerFactory asyncHandlerFactory, Type eventType, Object eventData, List`1 exceptions, InboxConfig inboxConfig)
    at Volo.Abp.EventBus.EventBusBase.ThrowOriginalExceptions(Type eventType, List`1 exceptions)
    at Volo.Abp.EventBus.EventBusBase.TriggerHandlersAsync(Type eventType, Object eventData)
    at Volo.Abp.EventBus.RabbitMq.RabbitMqDistributedEventBus.ProcessEventAsync(IModel channel, BasicDeliverEventArgs ea)
    at Volo.Abp.RabbitMQ.RabbitMqMessageConsumer.HandleIncomingMessageAsync(Object sender, BasicDeliverEventArgs basicDeliverEventArgs)
    
    Volo.Abp.Identity.AbpIdentityResultException: Optimistic concurrency failure, object has been modified.
    at Microsoft.AspNetCore.Identity.AbpIdentityResultExtensions.CheckErrors(IdentityResult identityResult)
    at Volo.Abp.Identity.UserPasswordChangeRequestedEventHandler.HandleEventAsync(UserPasswordChangeRequestedEto eventData)
    at Volo.Abp.EventBus.EventHandlerInvoker.InvokeAsync(IEventHandler eventHandler, Object eventData, Type eventType)
    at Volo.Abp.EventBus.EventBusBase.TriggerHandlerAsync(IEventHandlerFactory asyncHandlerFactory, Type eventType, Object eventData, List`1 exceptions, InboxConfig inboxConfig)
    at Volo.Abp.EventBus.EventBusBase.ThrowOriginalExceptions(Type eventType, List`1 exceptions)
    at Volo.Abp.EventBus.EventBusBase.TriggerHandlersAsync(Type eventType, Object eventData)
    at Volo.Abp.EventBus.RabbitMq.RabbitMqDistributedEventBus.ProcessEventAsync(IModel channel, BasicDeliverEventArgs ea)
    at Volo.Abp.RabbitMQ.RabbitMqMessageConsumer.HandleIncomingMessageAsync(Object sender, BasicDeliverEventArgs basicDeliverEventArgs)
    
  • Steps to reproduce the issue:

    1. host saas > choose tenant > action > ChangePassword
    2. type invalid password and save (ui will tell you save successed)
    3. will see "Passwords must have at least one non alphanumeric character" log loop
    4. do step 2 again
    5. will see "Optimistic concurrency failure, object has been modified" and "Passwords must have at least one non alphanumeric character" log loop
    6. and because of the concurrency error, no one can update admin user until delete that two update password event manually

4 Answer(s)
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    I test this in the 7.1 project and it seems to work as expected.

  • User Avatar
    0
    brike.kuo@authme.com created

    hi

    I test this in the 7.1 project and it seems to work as expected.

    I tried in 7.1, still got exception loop and I found that even not redo password edit, the concurrency error still occured

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    Thanks, I will try again.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    We will fix the issue in the next patch version, You question credit refunded.

Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11