gpt4 book ai didi

grails - Grails审核日志记录插件onSave in UserRole

转载 作者:行者123 更新时间:2023-12-02 15:32:20 25 4
gpt4 key购买 nike

如何在springSecurity中的userRole这样的域类中使用审计日志?

class SecUserSecRole implements Serializable {
static auditable = true

User user
Role role

...

def onSave = { map ->
println "onSave userRole detected"
}
}

不管怎么说,还是要谢谢你..

最佳答案

我不完全理解为什么这行不通,但是原因似乎是auditPlugin在类的ID为复合时无法获取持久属性。因此,它假定没有任何变化,并且不会调用onSave。

生成的SecUserSecRole类引入了一个基于'role', 'user'的ID组合键,auditPlugin试图从休眠的PostInsertEvent中查找持久的属性名称。在此尚不清楚原因,但当域使用复合键时属性将为空。

解决方法是尝试将您的域映射更改为

static mapping = {
//id composite: ['role', 'user']
role unique: 'user'
version false
}

注意:这不是解决方案,就springSecurity插件而言,可能还有其他副作用。

更新:我关心的是删除组合键可能会影响springSecurity多对多关系,但是根据Burt的 post,删除组合键并按照我在此提到的方式创建它似乎是安全的。

关于grails - Grails审核日志记录插件onSave in UserRole,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17584888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com