grails-spring-security-core
                                
                                 grails-spring-security-core copied to clipboard
                                
                                    grails-spring-security-core copied to clipboard
                            
                            
                            
                        isDirty(), hasChanged() fails with Spring Security and MongoDB
Expected Behavior
If there is NO any update property on the User object when it's saving, then the isDirty() function should work as expected. The UserPasswordEncoderListener.class should prevent any enconding password.
Actual Behaviour
The isDirty() function is not working on the UserPasswordEncoderListener.class, every time I save a user object that has NO updates always return true, causing an already encoded password to be re-encoded and thereby breaking authentication.
User Controller
In the UserController, testing the isDirty function worked as expected.

UserPasswordEncoderListener.class
In the class doesn't work.

You can check the logs.

Any idea?
Steps To Reproduce
No response
Environment Information
- 
Mac OS X 
- 
openjdk version "11.0.14.1" 2022-02-08 LTS 
- 
OpenJDK Runtime Environment Corretto-11.0.14.10.1 (build 11.0.14.1+10-LTS) 
- 
OpenJDK 64-Bit Server VM Corretto-11.0.14.10.1 (build 11.0.14.1+10-LTS, mixed mode) 
- 
MongoDB 
- 
Spring Security Core Plugin 
Example Application
No response
Version
5.1.8