Grails使用Spring Security更新了嵌入式对象,但没有编码密码

时间:2018-09-27 01:57:51

标签: mongodb grails spring-security grails-3.3 gorm-mongodb

我正在尝试更新嵌入式对象,但是当更新对象时,密码用户将再次编码。

我想将Card对象更新为User类。 UserService应该只更新卡对象,但要更新密码对象。

grails spring安全核心插件默认提供了UserPasswordEncoderListener。

使用:

  • grailsVersion = 3.3.8
  • grailsWrapperVersion = 1.0.0
  • gormVersion = 6.1.10.RELEASE
  • gradleWrapperVersion = 3.5
  • mongodb:6.1.6

有什么主意吗?还是我做错了什么? 处理嵌入式对象的最佳方法是什么?

github bug

用户类别

enter image description here

客户分类

enter image description here

卡类

enter image description here

UserService类

enter image description here

UserPasswordEncoderListener

enter image description here

1 个答案:

答案 0 :(得分:0)

好像密码也在某处更新,因此UserPasswordEncoderListener中的u.isDirty( 'password' )返回true

通过将密码设置为null,您应该可以禁止密码更新。