Javers提交作者姓名

问题描述 投票:0回答:1

以下问题:我在Spring Boot项目中使用Javers,并希望提取提交作者名称。

snapshots.get(0).getCommitMetadata().getAuthor()的值仅提供类似TokenPayload@254d2bf的内容。

第一个想法是设置AuthorProvider Bean

@Bean
public AuthorProvider authorProvider() {
  return new SpringSecurityAuthorProvider();
}

但是没有帮助。没有使用额外的配置,只有默认配置。预先谢谢你。

Javers Version: 5.8.9
Spring Boot Version: 1.5.8
spring-boot javers
1个回答
0
投票

您需要提供严格的AuthorProvider bean,它与Spring Security设置一起使用。 Javers提供的SpringSecurityAuthorProvider只是默认实现。

/**
 * Returns a current user name from Spring Security context
 */
public class SpringSecurityAuthorProvider implements AuthorProvider {
    @Override
    public String provide() {
        Authentication auth =  SecurityContextHolder.getContext().getAuthentication();

        if (auth == null) {
            return "unauthenticated";
        }

        return auth.getName();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.