带有 Spring Security 的 Grails 4 审计日志不记录“演员”
Posted
技术标签:
【中文标题】带有 Spring Security 的 Grails 4 审计日志不记录“演员”【英文标题】:Grails 4 Audit Logging w/ Spring Security does not record "Actor" 【发布时间】:2021-12-22 10:44:46 【问题描述】:我正在使用 Spring Security Rest 和 Grails Audit Logging 插件。正在使用所有正确信息创建审核日志记录,但 actor
属性始终使用 defaultActor
值保存。
以下是我的配置。有没有人有任何想法?我应该寻找什么?提前感谢您的宝贵时间。
build.gradle
ext.springSecurityRestVersion = '3.0.0.RC1'
dependencies
...
compile "org.grails.plugins:spring-security-rest:$springSecurityRestVersion"
compile "org.grails.plugins:spring-security-rest-gorm:$springSecurityRestVersion"
compile 'org.grails.plugins:audit-logging:4.0.3'
...
application.yml
grails.plugin.auditLog:
auditDomainClassName: "us.mycompany.api.AuditLogEvent"
logFullClassName: false
defaultActor: "mycompany"
grails.plugin.springsecurity:
userLookup.userDomainClassName: 'us.mycompany.api.Person'
userLookup.authorityJoinClassName: 'us.mycompany.api.PersonRole'
authority.className: 'us.mycompany.api.Role'
filterChain.chainMap:
#Stateless chain
- pattern: '/**', filters: 'JOINED_FILTERS,-exceptionTranslationFilter,-authenticationProcessingFilter,-securityContextPersistenceFilter,-rememberMeAuthenticationFilter'
rest.token:
storage.gorm.tokenDomainClassName: 'us.mycompany.api.AuthenticationToken'
validation:
useBearerToken: false
enableAnonymousAccess: true
【问题讨论】:
【参考方案1】:当我对此进行调试时,似乎SpringSecurityRequestResolver
中的springSecurityService
依赖项为空,因此我必须在resources.groovy
中显式连接SpringSecurityRequestResolver
。
我知道我不应该这样做,但它确实解决了我的问题,所以这至少是一种解决方法。
resources.groovy
import grails.plugins.orm.auditable.resolvers.SpringSecurityRequestResolver
beans =
auditRequestResolver(SpringSecurityRequestResolver)
springSecurityService = ref('springSecurityService')
【讨论】:
以上是关于带有 Spring Security 的 Grails 4 审计日志不记录“演员”的主要内容,如果未能解决你的问题,请参考以下文章
带有 OpenIDAuthenticationFilter 问题的 Spring Security
带有 spring-boot 和 spring-security 的 JWT
带有 Spring Security 的 Spring REST 不接受凭据
带有 LDAP 注销的 Spring Security 无法删除会话
如何使用带有多个过滤器和 Spring Security 的 Spring DelegatingFilterProxy?
我们如何使用带有 Spring 5.0 的最新 spring-security-oauth2 jar 来实现授权服务器?