【发布时间】:2012-03-13 04:01:21
【问题描述】:
我有一个标准的用户类,它是由 Grails 2.0.1 中的 spring-security-core 插件创建的。我通过 mongodb 插件使用 mongodb 进行持久化。
如果我将 Date 属性添加到用户类并将 beforeInsert() 事件处理程序更改为类似的内容
def beforeInsert() {
userCreated = new Date()
encodePassword()
}
用户不再被持久化。没有显示异常。它只是默默地失败。 如果我在定义 userCreated 属性时对其进行初始化:
Date userCreated = new Date()
并从 beforeInsert() 事件处理程序中删除初始化一切正常。 有人对这种行为有解释吗?
顺便说一句:我故意不使用自动时间戳功能,因为我想使用创建日期来加盐密码。如果我通过自动时间戳使用 dateCreated,则在调用 beforeInsert() 事件处理程序之后更新 dateCreated 字段并且密码不再有效。
【问题讨论】:
-
尝试将 grails.gorm.failOnError 添加到 Config.groovy 并再次运行您的代码。如果模型有任何问题,这应该会显示一个异常。
-
在 conf/Config.groovy 中添加了 grails.gorm.failOnError = true 行,但没有任何改变......仍然默默地失败......
标签: grails spring-security grails-orm