Имя субъекта становится системой вместо идентификатора клиента после запуска процесса потока в плагине Auditlog groovy - PullRequest
0 голосов
/ 11 февраля 2020

Плагин журнала аудита в groovy, имя субъекта - хранилище «Система» в БД журнала аудита после запуска процесса потока. Есть ли другой способ получить идентификатор клиента вместо имени по умолчанию в качестве системы в потоке?

AuditLogListener. groovy файл - это код, из которого поступает имя субъекта.

String getActor() {
    def actor = null
    if (actorClosure) {
      def attr = RequestContextHolder.getRequestAttributes()
      def session = attr?.session
      if (attr && session) {
        try {
          actor = actorClosure.call(attr, session)
        }
        catch (ex) {
          log.error "The auditLog.actorClosure threw this exception: ", ex
          log.error "The auditLog.actorClosure will be disabled now."
          actorClosure = null
        }
      }
      // If we couldn't find an actor, use the configured default or just 'system'
      if (!actor) {
        actor = grailsApplication.config.auditLog.defaultActor ?: 'system'
      }
    }
    return actor?.toString()
  }

, но когда поток запустится, не сможет получить данные из getRequestAttributes (). Может кто-нибудь предложить, как я могу получить имя актера в процессе потока или без процесса потока?

Заранее спасибо.

...