#grails #spring-security #grails-plugin #audit-logging
Вопрос:
Я использую Spring Security Rest и плагин ведения журнала аудита Grails. Записи журнала аудита создаются со всей правильной информацией, за исключением actor
того, что свойство всегда сохраняется со defaultActor
значением.
Ниже приведена моя конфигурация. У кого-нибудь есть какие-нибудь идеи? Что я должен искать? Заранее спасибо, что уделили мне время.
сборка.сортировка
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' ... }
приложение.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:
Когда я отлаживал это, похоже springSecurityService
, что зависимость SpringSecurityRequestResolver
была нулевой, поэтому мне пришлось явно подключиться SpringSecurityRequestResolver
resources.groovy
.
Я знаю, что мне не следовало этого делать, но это действительно решило мою проблему, так что это, по крайней мере, обходной путь.
ресурсы.заводной
import grails.plugins.orm.auditable.resolvers.SpringSecurityRequestResolver beans = { auditRequestResolver(SpringSecurityRequestResolver) { springSecurityService = ref('springSecurityService') } }