我在我的应用程序上使用 MongoDB 和 Spring Security Core 和 UI。几乎所有的东西都完美无缺,除了这一点:
def beforeUpdate() {
if (isDirty('password')) {
encodePassword()
}
}
这是用户域类的一部分。我读过 MongoDB 插件还不支持脏检查。所以我试着像这样实现我自己的:
if ( User.collection.findOne(id:id).password != password ) {
encodePassword()
}
但它不起作用。我得到了经典Cannot get property 'password' on null object.
有谁知道如何从域类定义中引用一个实例?我也愿意接受任何更好的想法来实施脏检查。