grails-core
grails-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