我想自动设置我的 DomainClasses 的 modifiedBy 和 createdBy 属性。
为此,我将 Bootstrap.grooy 更改为:
import org.codehaus.groovy.grails.commons.GrailsDomainClass
class BootStrap {
def grailsApplication
def init = { servletContext ->
grailsApplication.domainClasses.each { GrailsDomainClass gdc ->
if (gdc.hasProperty('modifiedBy') && gdc.hasProperty('createdBy')) {
gdc.metaClass.beforeInsert = {
modifiedBy = springSecurityService.currentUser.id
createdBy = springSecurityService.currentUser.id
}
}
if (gdc.hasProperty('modifiedBy') && gdc.hasProperty('modified')) {
gdc.metaClass.beforeUpdate = {
modified = new Date()
modifiedBy = springSecurityService.currentUser.id
}
}
}
}
}
为了完成这项工作,我需要在所有具有属性的 DomainClasses 中使用 springSecurityService,我可以添加以下内容:
def springSecurityService
static transients = ['springSecurityService']
没有那个我怎么能注入(inject)springSecurityService?
最佳答案
我在 this 中找到了解决方案
这适用于 Platform Plugin
关于spring - GORM 全局 beforeInsert 设置 modifiedBy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31267376/